Выборка данных
Для выборки данных в SQL используется инструкция SELECT. Она состоит из следующих основных частей. Части пишутся в определенном порядке.
1. Список выборки. Здесь указываются столбцы, которые включаются в результат запроса. Столбцы возвращаются в порядке их перечисления в списке выборки. Чтобы список выборки содержал все столбцы таблицы, можно использовать символ *. 2. Раздел FROM. Определяет источник (или источники) данных для выборки (таблицы или представления).
SELECT * FROM Readers; – выводит все данные из таблицы «Readers». SELECT ReaderName, ReaderSurname FROM Readers;- выборка ФИО.
Имена объектов БД можно уточнить. Уточненное имя записывается в форме:
ИмяСервера. ИмяБазы. ИмяВладельца. ИмяТаблицы (для таблицы) ИмяСервера. ИмяБазы. ИмяВладельца. ИмяТаблицы. ИмяСтолбца (для столбца)
Уточнение имени полезно, например, при выборке данных из нескольких таблиц, если таблицы содержат одноимённые столбцы. Для того чтобы сократить размеры запроса, для громоздких имен объектов в разделе FROM можно задать псевдонимы. После объявления псевдонима нельзя обращаться к объекту по имени в текущем запросе. Служебное слово AS можно опустить.
SELECT R.ReaderName, R.ReaderSurname FROM Readers AS R; - псевдоним для таблицы. SELECT (RTRIM(R.ReaderName) + ' ' + R.ReaderSurname) AS Name FROM Readers R;- псевдоним для столбца или функции.
RTRIM – команда, которая обрезает все пробелы справа от содержимого поля. LTRIM – слева.
Запрос, возвращающий список формата «книга (серийный номер)»: SELECT BookName + '(серийный номер' + SerialNum + ')' as book FROM Books; Для исключения повторяющихся значений из результата выборки используется параметр DISTINCT.
SELECT DISTINCT BookName FROM Books; – выборка названий книг без повторений.
DISTINCT применяется ко всем столбцам, используемым в предложении SELECT. Альтернатива DISTINCT – параметр ALL (повторяющиеся записи сохраняются). ALL применяется по умолчанию.
Если требуется вывести на экран определенное число записей, используется параметр TOP. Аргумент TOP – либо точно количество записей, либо процент записей от общего числа. В этом случае используется служебное слово PERCENT (округление в большую сторону). SELECT TOP 50 PERCENT BookNAme FROM Books;– выборка половины списка книг (по порядку хранения в БД SELECT TOP 2 BookNAme FROM Books ORDER BY BookName; – выборка первых двух книг (по алфавиту)
3. Раздел WHERE. Определяет критерий отбора записей. В разделе можно задавать предикаты – условные выражения, которые могут иметь результат TRUE, FALSE или UNKNOWN для каждой строки таблицы. В результат запроса включаются только те строки, для которых предикат имеет значение TRUE. В предикатах используются операторы отношения (больше, меньше, равно и т.д.) и логические операторы (AND, OR, NOT).
|