Структуриран език за заявки SQL

ДАТА - дата във формата, посочен от специална команда (по подразбиране mm/dd/yy); полетата за дати могат да съдържат само реални дати, започващи няколко хилядолетия пр. н. е. и ограничено до петото до десетото хилядолетие от н.е.;

TIME - време във формата, определен от специална команда (по подразбиране hh.mm.ss);

DATETIME - комбинация от дата и час;

ПАРИ - пари във формата, който определя символа на валутата ($, rub,

. ) и неговото местоположение (суфикс или префикс), точността на дробната част и условието за показване на паричната стойност.

Някои СУБД все още имат тип данни LOGICAL, DOUBLE и редица други. Въпреки това, за да се осигури преносимост на базите данни между различни, включително изчислителни платформи, препоръчително е да се използва ограничен набор от така наречените "канонични" типове данни. В този лабораторен курс ще ограничим този набор до типове INTEGER, VARCHAR, DATE и FLOAT.

SQL, ориентиран към таблицата, няма инструментите за създаване на сложни приложения. Следователно, в различни СУБД или се използва заедно с езици за програмиране на високо ниво (например като C или Pascal), или е включен в командите на специално разработен език на СУБД (dBASE, R: BASE и т.н. ). Обединяването на пълните езици на съвременните професионални СУБД се постига чрез въвеждането на четвърто поколение обектно-ориентиран език 4GL. Последното ви позволява да организирате цикли, условни изречения, менюта, екранни форми, сложни заявки към бази данни с интерфейс, ориентиран както към буквено-цифрови терминали, така и към прозоречен графичен интерфейс (X-Windows, MS-Windows).

Всички заявки за получаване на почти всяко количество данни от една или повече таблици се изпълняват с помощта на една клауза SELECT. По принцип клаузата SELECT води до друга таблица. Тази нова (работна) таблица може да се приложи отново с операция SELECT и така нататък, тоест такива операции могат да бъдат вложени една в друга. Исторически интерес представлява фактът, че именно възможността за включване на една клауза SELECT в друга е мотивирала използването на прилагателното „структурирано“ в името на езика SQL.

Клаузата SELECT може да се използва като:

 независима команда за получаване и извеждане на редове на таблица, образувана от колони и редове на една или няколко таблици (изгледи);

Use клауза WHERE или HAVING (съкратена версия на клауза, наречена „подзаявка“);

Phrase фраза за избор в командите CREAT VIEW, DECLARE CURSOR или INSERT;

 средство за присвояване на стойности на глобални променливи от редове на генерирана таблица (INTO-фраза).

Ще разгледаме само първите две функции на клаузата SELECT и тук е неговият синтаксис, ограничен от конструкциите, използвани за изпълнение на тези функции. Тук синтактичните конструкции използват следната нотация:

 звездичка (*) за „всички“ - използва се в обичайния програмен смисъл, т.е. „всички случаи, които отговарят на определението“;

 квадратни скоби ([]) - означават, че конструкциите, затворени в тези скоби, не са задължителни (т.е. те могат да бъдат пропуснати);

 къдрави скоби (<>) - означават, че конструкциите, затворени в тези скоби, трябва да се разглеждат като цели синтактични единици, т.е. те ви позволяват да прецизирате реда на синтактичен анализ на синтаксиса, като замените редовните скоби, използвани в синтаксиса на SQL;

 елипса (.) - показва, че синтактичната единица, непосредствено предшестваща я, може по желание да се повтори един или повече пъти;

 права линия (|) - означава, че има избор от две или повече опции. Например нотацията ASC | DESC показва дали можете да изберете един от термините ASC или DESC; когато един от елементите за избор е затворен в квадратни скоби, това означава, че е избран по подразбиране (например [ASC] | DESC означава, че липсата на цялата тази конструкция ще се възприеме като избор на ASC);

 точка и запетая (;) - завършващ елемент на SQL изрази;

 запетая (,) - използва се за разделяне на елементи от списъка;

 интервали () - могат да бъдат въведени за подобряване на яснотата между всякакви синтактични конструкции на SQL изрази;

Bold главни латински букви и символи - използват се за писане на езикови конструкции на SQL и трябва (освен ако не е посочено друго) да бъдат написани точно както е показано;

Малки букви - използва се за писане на конструкции, които трябва да бъдат заменени със специфични стойности, избрани от потребителя, и за определеност, отделни думи от тези конструкции са свързани заедно с долна черта (_);