Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Модул 3 · Урок 16

Заявката SELECT

Ред на атрибутите, DISTINCT, булеви стойности и логически изрази (BETWEEN, LIKE, IN, AND/OR/NOT), клаузата WHERE и изчислими полета.

Ред на атрибутите

Атрибутите в резултата се показват в реда, в който сме ги изредили след SELECT — не е задължително това да е редът от схемата на таблицата:

Модификаторът DISTINCT

DISTINCT взема само по един екземпляр от няколко еднакви стойности. Изписва се между SELECT и атрибутите:

Булеви стойности и логически изрази

Булевите стойности се получават от операциите за сравняване: >, >=, <, <=, =(„е равно на" — в SQL няма присвояване!) и <> или != („не е равно на“). SQL добавя и специфични операции:

ОперацияИстина, когато…Пример
BETWEEN a AND bстойността е между a и b (включително)Номер BETWEEN 3 AND 7
LIKE образецнизът съответства на образеца (шаблона)Име LIKE "Д*"
IN (списък)стойността е елемент от списъкаНомер IN (1, 7, 6)

Образците на LIKE

В Access специалните знаци в образеца са:

  • * — нула, един или повече знака; "*@*" — всеки низ със знака @ (e-mail).
  • ? — точно един знак; "??*" — низ с поне два знака.
  • # — точно една цифра.
  • [А-Д]* — низ, започващ с буква от А до Д; [!А-Д]* — който НЕ започва с тях; [*]* — започващ със звезда.

Логически изрази

Всяко сравнение е условие. По-сложни условия се строят с булевите операции: AND (конюнкция, „и“), OR (дизюнкция, „или“), NOT (отрицание) и скоби за реда на изпълнение.

Клаузата WHERE

Елементарният SELECT реализира проекция. Клаузата WHERE условие (след FROM) добавя селекцията:

SELECT * FROM … WHERE … реализира чиста селекция; SELECT атрибути FROM … WHERE … е композиция от селекция и проекция.

Изчислимо поле

Изчислимо поле — колона в резултата, получена чрез изчисление, конвертиране или форматиране на стойност от базата. Позволява да променяме стойностите в резултата, без да променяме данните в ядрото — съхраняваме данните по един начин, а другите изгледи получаваме „в движение“:

Какво трябва да запомниш

  • Редът на атрибутите в резултата = редът след SELECT.
  • DISTINCT маха повторенията; пише се веднага след SELECT.
  • BETWEEN, LIKE (шаблони), IN — специфичните SQL сравнения.
  • Access шаблони: * ? # [ ]; стандартен SQL: % и _.
  • WHERE = селекция; SELECT атрибути + WHERE = композиция селекция∘проекция.
  • Изчислимото поле смята „в движение“, без да пипа ядрото.