Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Предложения оператора SELЕСТ и последовательность их использования
Символы, использующиеся в языке SQL.
Выборка данных. Чтобы при помощи оператора SELECT извлечь данные из таблицы нужно знать как минимум 2 вещи: Что выбрать? Откуда? Искомое имя таблицы указывается сразу после слова SELECT, а ключевое слово FROM указывает на имя таблицы, из которой выбираются данные. SELECT [Город], [Заметки] FROM [Поставщики бетона]; SELECT переводится, как выбрать, отобрать. Оператор предназначен для выборки информации из таблиц, возвращает все указанные строки таблицы без фильтрации и сортировки. В качестве параметров список полей допускает применение " *", указывающий на то, что в выборку должны быть включены все поля таблицы, либо перечень полей, разделенных ", ". Например, чтоб получить полное содержание таблицы " Клиенты" достаточно: SELЕСТ*FRОМ Клиенты Сортировка данных. При отсутствии сортировки данные обычно выводятся в том порядке, в котором они находятся в таблице. Предложение ORDER BY используется для точной сортировки данных. В этом предложении указывается имя одного или нескольких столбцов, по которым сортируются результаты. Порядок сортировки можно задать и по относительному положению столбца (по номеру) в списке SELECT. Сортировка по убыванию SELECT [Город], [Заметки] FROM ПоставщикиБетона ORDER BY [Город] DESC; DESC – сортировка по убыванию, указывается поля каждого столбца, которого необходимо отсортировать. Сортировка по возрастанию SELECT [Город], [Заметки] FROM ПоставщикиБетона ORDER BY [Город]; Обычно выполняется по умолчанию, но в некоторых случаях необходимо указывать специально. Фильтрация данных. Предложение WHERE. Предложение WHERE позволяет указать критерии поиска данных. Указывается сразу после названия таблицы. SELECT [Город], [Заметки] FROM ПоставщикиБетона WHERE [Город]=" Санкт-Петербург"; Если используются одновременно предложения ORDER BY и WHERE, то ORDER BY должно находится после WHERE. SELECT [Город], [Заметки] FROM ПоставщикиБетона WHERE [Город] BETWEEN " Орел" AND " Саратов" ORDER BY [Заметки]; Для оператора BETWEEN требуется 2 значения – начальное и конечное, которые разделяются ключевым словом AND, выбираются все значения из диапазона, включая начальное и конечное. = - равенство < , > - неравенство ! = - неравенство < - меньше > - больше < = - меньше или равно BETWEEN – между двумя значениями IS NULL – ноль (не содержит несколько значений) ! < - не меньше Расширенная фильтрация данных. Чтобы увеличить уровень контроля над фильтром можно использовать несколько предложений WHERE SELECT [класс], [марка] FROM [соотношение между классом и марками бетона по прочности] WHERE [класс]> " В45" And [марка]=" М700"; AND – объединение, указывает СУБД возвращать только те строки, которые удовлетворяют всем перечисленными предложениям. Ключевое слово OR указывает СУБД выбрать только те строки, которые удовлетворяют хотя бы одному предложению. Если первое предложение выполнено, строка будет выведена независимо от второго предложения. SELECT [класс], [марка] FROM [соотношение между классом и марками бетона по прочности] WHERE [класс]> " В45" Or [марка]=" М700"; Порядок отбора. Комбинируя операторы AND и OR можно создать сложные фильтры. SELECT [класс], [марка], [КодПоставщика] FROM [соотношение между классом и марками бетона по прочности] WHERE ([класс]> " В45" And [КодПоставщика]> 5) Or [марка]=" М700"; При такой комбинации могут быть ошибки в выводе результатов, поскольку SQL выбирает сначала оператор AND, а затем OR, поэтому необходимо использовать прямые скобки, так как они имеют больший приоритет. Те же функции, что и OR выполняет ключевое слово IN. Однако при использовании IN облегчается чтение данных, предложение управляется порядком отбора за счет уменьшения количества операторов, повышается быстрота обработки, а также может содержаться еще одна инструкция SELECT. SELECT [Город], [Заметки] FROM ПоставщикиБетона WHERE [Город] In (" Москва", " Орел" ); Логический оператор NOT предложения WHERE отрицает се предложения, следующие за ним. SELECT [Город], [Заметки] FROM ПоставщикиБетона WHERE NOT [Город]=" Москва";
SELECT [Город], [Заметки] FROM ПоставщикиБетона WHERE NOT [Город]< > " Москва"; Предложения оператора SELECT и последовательность их использования: SELECT – столбцы или предложения, которые должны быть возвращены. FROM – таблица для возвращения данных WHERE – фильтрация на уровне строк GROUP BY – определенные группы (для таблиц) HAVING – фильтрация на уровне групп Создание групп. Предложение GROUP BY. Для подсчета числа строк, вычисления суммы и среднего значения, а также для получения наибольшего и наименьшего значения не прибегая к выборке всех данных используют предложение GROUP BY. SELECT [Город], COUNT(*) AS Общее FROM ПоставщикиБетона GROUP BY [Город]; SELECT выводит 2 столбца. Функция COUNT (*) подсчитывает все строки. Использование предложения HAVING. Все типы выражений в предложении WHERE, могут использоваться в предложении HAVING. Разница состоит в том, что WHERE фильтрует строки, а HAVING группы. SELECT [Город], COUNT(*) AS Общее FROM ПоставщикиБетона GROUP BY [Город] HAVING COUNT(*)> =4; HAVING фильтрует группы с помощью COUNT(*)> =2. Совместное использование WHERE и HAVING. Предложение WHERE фильтрует до того, как данные будут сгруппированы, а HAVING фильтрует после того, как данные были разделены на группы. Таким образом строки, выброшенные по предложению WHERE не будут включены в группу. SELECT [ПоставщикиБетона].Город, Count(*) AS Общее FROM ПоставщикиБетона WHERE [Город]=" Москва" GROUP BY [ПоставщикиБетона].Город HAVING (((Count(*))> =4)); Объединение таблиц. Реляционные базы данных предполагают наличие механизма объединения хранящихся в нескольких таблицах данных, число таблиц связанных между собой может быть от двух и более. SELECT * FROM ПоставщикиБетона INNER JOIN [соотношение между классом и марками бетона по прочности] ON [ПоставщикиБетона].КодПоставщика=[соотношение между классом и марками бетона по прочности].КодПоставщика; Конструкция INNER JOIN позволяет возвратить все записи, для которых выполняется условие равенства столбцов, объединение таблиц. Популярное:
|
Последнее изменение этой страницы: 2016-08-24; Просмотров: 416; Нарушение авторского права страницы