Структуриран език за заявки 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 и трябва (освен ако не е посочено друго) да бъдат написани точно както е показано;
Малки букви - използва се за писане на конструкции, които трябва да бъдат заменени със специфични стойности, избрани от потребителя, и за определеност, отделни думи от тези конструкции са свързани заедно с долна черта (_);