Ред на атрибутите
Атрибутите в резултата се показват в реда, в който сме ги изредили след 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 = композиция селекция∘проекция.
- Изчислимото поле смята „в движение“, без да пипа ядрото.