Select что это значит

SELECT

SELECT — оператор языка

Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД. В большинстве приложений SELECT является наиболее часто используемым оператором SELECT пользователь описывает ожидаемый набор данных, но не указывает, какие физические операции должны быть произведены для получения этого набора. Определение для запроса оптимального плана является задачей СУБД, а точнее — оптимизатора.

Формат запроса с использованием данного оператора:

SELECT список полей FROM список таблиц WHERE условия…

Основные ключевые слова, относящиеся к запросу SELECT :

Содержание

Примеры

Для таблицы T запрос

вернёт все столбцы всех строк данной таблицы. Для той же таблицы запрос

вернёт значения столбца C1 всех строк таблицы— в терминах реляционной алгебры можно сказать, что была выполнена проекция. Для той же таблицы запрос

вернёт значения всех столбцов всех строк таблицы, у которых значение поля C1 равно ‘1’— в терминах реляционной алгебры можно сказать, что была выполнена выборка, так как присутствует ключевое слово WHERE. Последний запрос

вернёт те же строки, что и первый, однако результат будет отсортирован в обратном порядке (Z-A) из-за использования ключевого слова ORDER BY с полем C1 в качестве поля сортировки. Этот запрос не содержит ключевого слова WHERE, поэтому он вернёт всё, что есть в таблице. Несколько элементов ORDER BY могут быть указаны разделённые запятыми [напр. ORDER BY C1 ASC, C2 DESC] для более точной сортировки.

Ограничение возвращаемых строк

Оконная функция ROW_NUMBER()

Существуют различные оконные функции. ROW_NUMBER() OVER может быть использована для простого ограничения числа возвращаемых строк. Например, для возврата не более десяти строк:

ROW_NUMBER может быть недетерминированным: если key не уникален, каждый раз при выполнении запроса возможно присвоение разных номеров строкам, у которых key совпадает. Когда key уникален, каждая строка будет всегда получать уникальный номер строки.

оконная функция RANK()

Функция RANK() OVER работает почти так же, как ROW_NUMBER, но может вернуть более чем n строк при определённых условиях. Например, для получения top-10 самых молодых людей:

Данный код может вернуть более чем 10 строк. Например, если есть два человека с одинаковым возрастом, он вернёт 11 строк.

Нестандартный синтаксис

Не все СУБД поддерживают вышеуказанные оконные функции. При этом многие имеют нестандартный синтаксис для решения тех же задач. Ниже представлены варианты простого ограничения выборки для различных СУБД:

Производитель/СУБДСинтаксис ограничения
DB2(Поддерживает стандарт начиная с DB2 Version 6)
FIRST 10 * FROM T
FIRST 10 * FROM T
InterbaseSELECT * FROM T ROWS 10
Также SELECT TOP 10 [PERCENT] * FROM T ORDER BY col
LIMIT 10
LIMIT 10
LIMIT 10
Oracle(Поддерживает стандарт начиная с Oracle8i)
Также SELECT * from T WHERE ROWNUM

См. также

DDL, SELECT | INSERT | UPDATE | MERGE | DELETE | JOIN | UNION | CREATE | ALTER | DROP
Сравнение синтаксиса

Типы реализаций
Flat file | Deductive | Dimensional | Иерархическая | Объектно-ориентированная | Temporal

Полезное

Смотреть что такое «SELECT» в других словарях:

sélect — sélect, ecte ou (inv.) select [ selɛkt ] adj. • 1831; sélecte h. XVIIe; angl. select « choisi »; lat. selectus ♦ Fam. et vieilli Choisi, distingué (en parlant des gens, des réunions mondaines). ⇒ chic, élégant. Le « monde select et pourri de l… … Encyclopédie Universelle

select — sélect, ecte ou (inv.) select [ selɛkt ] adj. • 1831; sélecte h. XVIIe; angl. select « choisi »; lat. selectus ♦ Fam. et vieilli Choisi, distingué (en parlant des gens, des réunions mondaines). ⇒ chic, élégant. Le « monde select et pourri de l… … Encyclopédie Universelle

Select — оператор языка Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД. В большинстве приложений SELECT является наиболее часто используемым оператором SELECT пользователь описывает… … Википедия

select — SELÉCT, Ă, selecţi, te, adj. Ales, deosebit, distins. – Din fr. sélect, engl. select. Trimis de LauraGellner, 17.07.2007. Sursa: DEX 98  Select ≠ vulgar Trimis de siveco, 03.08.2004. Sursa: Antonime  SELÉCT adj. v. ales … Dicționar Român

select — adj Select, elect, picked, exclusive can mean marked by a superior character or quality which distinguishes the person, the thing, or the group so qualified from others (as in value, excellence, or favor). Select implies that the person or thing… … New Dictionary of Synonyms

Select — Álbum de Kim Wilde Publicación 1982 Género(s) Synthpop Discográfica RAK Records Productor(es) Ricky Wilde … Wikipedia Español

select — I adjective accepted, adopted, appointed, best, capital, choice, chosen, culled, designated, elected, electus, elite, embraced, excellent, exceptional, exclusive, exquisitus, first rate, good, handpicked, matchless, named, picked, popular,… … Law dictionary

Источник

Select

SELECT — оператор языка

Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД. В большинстве приложений SELECT является наиболее часто используемым оператором SELECT пользователь описывает ожидаемый набор данных, но не указывает, какие физические операции должны быть произведены для получения этого набора. Определение для запроса оптимального плана является задачей СУБД, а точнее — оптимизатора.

Формат запроса с использованием данного оператора:

SELECT список полей FROM список таблиц WHERE условия…

Основные ключевые слова, относящиеся к запросу SELECT :

Содержание

Примеры

Для таблицы T запрос

вернёт все столбцы всех строк данной таблицы. Для той же таблицы запрос

вернёт значения столбца C1 всех строк таблицы— в терминах реляционной алгебры можно сказать, что была выполнена проекция. Для той же таблицы запрос

вернёт значения всех столбцов всех строк таблицы, у которых значение поля C1 равно ‘1’— в терминах реляционной алгебры можно сказать, что была выполнена выборка, так как присутствует ключевое слово WHERE. Последний запрос

вернёт те же строки, что и первый, однако результат будет отсортирован в обратном порядке (Z-A) из-за использования ключевого слова ORDER BY с полем C1 в качестве поля сортировки. Этот запрос не содержит ключевого слова WHERE, поэтому он вернёт всё, что есть в таблице. Несколько элементов ORDER BY могут быть указаны разделённые запятыми [напр. ORDER BY C1 ASC, C2 DESC] для более точной сортировки.

Ограничение возвращаемых строк

Оконная функция ROW_NUMBER()

Существуют различные оконные функции. ROW_NUMBER() OVER может быть использована для простого ограничения числа возвращаемых строк. Например, для возврата не более десяти строк:

ROW_NUMBER может быть недетерминированным: если key не уникален, каждый раз при выполнении запроса возможно присвоение разных номеров строкам, у которых key совпадает. Когда key уникален, каждая строка будет всегда получать уникальный номер строки.

оконная функция RANK()

Функция RANK() OVER работает почти так же, как ROW_NUMBER, но может вернуть более чем n строк при определённых условиях. Например, для получения top-10 самых молодых людей:

Данный код может вернуть более чем 10 строк. Например, если есть два человека с одинаковым возрастом, он вернёт 11 строк.

Нестандартный синтаксис

Не все СУБД поддерживают вышеуказанные оконные функции. При этом многие имеют нестандартный синтаксис для решения тех же задач. Ниже представлены варианты простого ограничения выборки для различных СУБД:

Производитель/СУБДСинтаксис ограничения
DB2(Поддерживает стандарт начиная с DB2 Version 6)
FIRST 10 * FROM T
FIRST 10 * FROM T
InterbaseSELECT * FROM T ROWS 10
Также SELECT TOP 10 [PERCENT] * FROM T ORDER BY col
LIMIT 10
LIMIT 10
LIMIT 10
Oracle(Поддерживает стандарт начиная с Oracle8i)
Также SELECT * from T WHERE ROWNUM

См. также

DDL, SELECT | INSERT | UPDATE | MERGE | DELETE | JOIN | UNION | CREATE | ALTER | DROP
Сравнение синтаксиса

Типы реализаций
Flat file | Deductive | Dimensional | Иерархическая | Объектно-ориентированная | Temporal

Полезное

Смотреть что такое «Select» в других словарях:

sélect — sélect, ecte ou (inv.) select [ selɛkt ] adj. • 1831; sélecte h. XVIIe; angl. select « choisi »; lat. selectus ♦ Fam. et vieilli Choisi, distingué (en parlant des gens, des réunions mondaines). ⇒ chic, élégant. Le « monde select et pourri de l… … Encyclopédie Universelle

select — sélect, ecte ou (inv.) select [ selɛkt ] adj. • 1831; sélecte h. XVIIe; angl. select « choisi »; lat. selectus ♦ Fam. et vieilli Choisi, distingué (en parlant des gens, des réunions mondaines). ⇒ chic, élégant. Le « monde select et pourri de l… … Encyclopédie Universelle

SELECT — оператор языка Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД. В большинстве приложений SELECT является наиболее часто используемым оператором SELECT пользователь описывает… … Википедия

select — SELÉCT, Ă, selecţi, te, adj. Ales, deosebit, distins. – Din fr. sélect, engl. select. Trimis de LauraGellner, 17.07.2007. Sursa: DEX 98  Select ≠ vulgar Trimis de siveco, 03.08.2004. Sursa: Antonime  SELÉCT adj. v. ales … Dicționar Român

select — adj Select, elect, picked, exclusive can mean marked by a superior character or quality which distinguishes the person, the thing, or the group so qualified from others (as in value, excellence, or favor). Select implies that the person or thing… … New Dictionary of Synonyms

Select — Álbum de Kim Wilde Publicación 1982 Género(s) Synthpop Discográfica RAK Records Productor(es) Ricky Wilde … Wikipedia Español

select — I adjective accepted, adopted, appointed, best, capital, choice, chosen, culled, designated, elected, electus, elite, embraced, excellent, exceptional, exclusive, exquisitus, first rate, good, handpicked, matchless, named, picked, popular,… … Law dictionary

Источник

SQL SELECT

Команда SELECT

Команда SELECT производит выборку данных из таблиц по запросу.

Язык SQL допускает три типа синтаксических конструкций, начинающихся с ключевого слова SELECT:

Синтаксис команды SELECT в MySQL

Select что это значит. clip image0021. Select что это значит фото. Select что это значит-clip image0021. картинка Select что это значит. картинка clip image0021

Синтаксис команды SELECT в Oracle

Основные ключевые слова и параметры команды SELECT в MySQL

Синтаксис команды SELECT в Oracle

Select что это значит. clip image001. Select что это значит фото. Select что это значит-clip image001. картинка Select что это значит. картинка clip image001

Синтаксис команды SELECT в Oracle

Select что это значит. clip image0011. Select что это значит фото. Select что это значит-clip image0011. картинка Select что это значит. картинка clip image0011

Query table expression clause

Select что это значит. clip image0013. Select что это значит фото. Select что это значит-clip image0013. картинка Select что это значит. картинка clip image0013

Select что это значит. clip image0014. Select что это значит фото. Select что это значит-clip image0014. картинка Select что это значит. картинка clip image0014

Select что это значит. clip image0015. Select что это значит фото. Select что это значит-clip image0015. картинка Select что это значит. картинка clip image0015

Table collection expression

Select что это значит. clip image0016. Select что это значит фото. Select что это значит-clip image0016. картинка Select что это значит. картинка clip image0016

Select что это значит. clip image0017. Select что это значит фото. Select что это значит-clip image0017. картинка Select что это значит. картинка clip image0017

Select что это значит. clip image0018. Select что это значит фото. Select что это значит-clip image0018. картинка Select что это значит. картинка clip image0018

Hierarchical query clause

Select что это значит. clip image0019. Select что это значит фото. Select что это значит-clip image0019. картинка Select что это значит. картинка clip image0019

Select что это значит. clip image00110. Select что это значит фото. Select что это значит-clip image00110. картинка Select что это значит. картинка clip image00110

Select что это значит. clip image00111. Select что это значит фото. Select что это значит-clip image00111. картинка Select что это значит. картинка clip image00111

Основные ключевые слова и параметры команды SELECT в Oracle

Описание команды SELECT

Основой всех синтаксических конструкций, начинающихся с ключевого слова SELECT, является синтаксическая конструкция “табличное выражение”.

Семантика табличного выражения состоит в том, что на основе последовательного применения разделов FROM, WHERE, GROUP BY и HAVING из заданных в разделе FROM таблиц строится некоторая новая результирующая таблица, порядок следования строк которой не определен и среди строк которой могут находиться дубликаты (т.е. в общем случае таблица-результат табличного выражения является мультимножеством строк).

Наиболее общей является конструкция “спецификация курсора”. Курсор — это понятие языка SQL, позволяющее с помощью набора специальных операторов получить построчный доступ к результату запроса к БД. К табличным выражениям, участвующим в спецификации курсора, не предъявляются какие- либо ограничения. При определении спецификации курсора используются три дополнительных конструкции: спецификация запроса, выражение запросов и раздел ORDER BY.

В спецификации запроса задается список выборки (список арифметических выражений над значениями столбцов результата табличного выражения и констант). В результате применения списка выборки к результату табличного выражения производится построение новой таблицы, содержащей то же число строк, но вообще говоря другое число столбцов, содержащих результаты вычисления соответствующих арифметических выражений из списка выборки.

Выражение запросов — это выражение, строящееся по указанным синтаксическим правилам на основе спецификаций запросов. Единственной операцией, которую разрешается использовать в выражениях запросов, является операция UNION (объединение таблиц) с возможной разновидностью UNION ALL.

Оператор выборки — это отдельный оператор языка SQL, позволяющий получить результат запроса в прикладной программе без привлечения курсора. Поэтому оператор выборки имеет синтаксис, отличающийся от синтаксиса спецификации курсора, и при его выполнении возникают ограничения на результат табличного выражения. Фактически, и то, и другое диктуется спецификой оператора выборки как одиночного оператора SQL: при его выполнении результат должен быть помещен в переменные прикладной программы. Поэтому в операторе появляется раздел INTO, содержащий список переменных прикладной программы, и возникает то ограничение, что результирующая таблица должна содержать не более одной строки.

В диалекте SQL СУБД Oracle поддерживается расширенный вариант оператора выборки, результатом которого не обязательно является таблица из одной строки. Такое расширение не поддерживается ни в SQL/89, ни в SQL/92.

Подзапросзапрос, который может входить в предикат условия выборки оператора SQL.

Кстати, данную статью Вы можете найти в интернете по запросам:

Команда SELECT, Синтаксис команды SELECT, Описание команды SELECT.

Источник

Оператор SELECT

Наиболее используемым, но и самым сложным оператором является оператор выборки SELECT. Он позволяет производить выборку данных из таблиц и преобразовывать к нужному виду полученные результаты.

Select что это значит. 20945220. Select что это значит фото. Select что это значит-20945220. картинка Select что это значит. картинка 20945220

Результатом выполнения оператора SELECT является таблица. К этой таблице может быть снова применен оператор SELECT и т.д., то есть такие операторы могут быть вложены друг в друга. Вложенные операторы SELECT называют подзапросами.

Синтаксис оператора SELECT использует следующие основные предложения:

Кратко пояснить смысл предложений оператора SELECT можно следующим образом:

База данных для примеров

Дальше будет много примеров и логично постоянно использовать одну и ту же БД, что бы не рисовать каждый раз новые. На основании базы данных ниже будут продемонстрированы все примеры, не только в этой статье, но и в других.

Постановка задачи: пусть требуется разработать БД для предметной области «Поставка деталей»!

Требуется хранить следующую информацию:

Значения таблицы P:

pnumpname
1Иванов
2Петров
3Сидоров
4Кузнецов

Значения таблицы D:

pnumdnamedprice
1Болт10
2Гайка20
3Винт30

Значения таблицы PD:

pnumdnumvolume
11100
12100
13300
21150
12250
311000

Блок помощи

Предложение SELECT

После служебного слова SELECT перечисляются имена столбцов, значения которых будут входить в результат выполнения запроса.

Если имя столбца содержит пробелы или разделители, то его необходимо заключить в квадратные скобки.

Предложение FROM

Пример 1.
Вывести список наименований деталей из таблицы D (“Детали”).

Пример 2.
Получить всю информацию из таблицы D (“Детали”).

Получить результат можно двумя способами:

В результате и первого и второго запроса получаем новую таблицу, представляющую собой полную копию таблицы D (“Детали”).

Можно осуществить выбор отдельных столбцов и их перестановку.

Пример 3.
Получить информацию о наименовании и номере поставщика.

Пример 4.
Определить номера поставщиков, которые поставляют детали в настоящее время (то есть номера тех поставщиков, которые присутствуют в таблице PD (“Поставки”)).

pnum
1
1
1
2
2
3

Дополнительно о SELECT

Агрегатные функции

В операторе SELECT можно использовать агрегатные функции, которые дают единственное значение для целой группы строк в таблице.

Агрегатная функция записывается в следующем виде: ( )

Пользователю доступны следующие агрегатные функции:

Пример 15.
Определить общий объем поставляемых деталей.

Столбцы результирующей таблицы, которых не существовало в исходных таблицах, называются вычисляемыми. Таким столбцам СУБД присваивает системные имена, что не всегда является удобным.

Следует запомнить, что агрегатные функции нельзя вкладывать друг в друга. Такая конструкция работать не будет: `MAX(SUM(VOLUME))`

Переименование столбца

Например, присвоить новое имя вычисляемому столбцу в предыдущем примере позволит выполнение следующего запроса.

Пример 16.
Определить количество поставщиков, которые поставляют детали в настоящее время.

Несмотря на то, что реальное число поставщиков деталей в таблице PD равно 3, СУБД возвращает число 6. Такой результат объясняется тем, что СУБД подсчитывает все строки в таблице PD, не обращая внимание на то, что в строках есть одинаковые значения.

Операция DISTINCT

Операция TOP

Итоговый набор записей, получаемых после выполнения запроса можно ограничить первыми N строками или первыми N процентами от общего количества строк результата.

Пример 23.
Определить номера первых двух деталей таблицы D.

Предложение WHERE

После служебного слова WHERE указываются условия выбора строк, помещаемых в результирующую таблицу. Существуют различные типы условий выбора:

Типы условий выбора:

Сравнение

Пример 5.
Определить номера деталей, поставляемых поставщиком с номером 2.

Пример 6.
Получить информацию о поставщиках Иванов и Петров.

Строковые значения атрибутов заключаются в апострофы.

Проверка на принадлежность множеству

Операция IN проверяет, принадлежит ли значение атрибута заданному множеству.

Пример 7.
Получить информацию о поставщиках ‘Иванов’ и ‘Петров’.

Пример 8.
Получить информацию о деталях с номерами 1 и 2.

Проверка на принадлежность диапазону

Операция BETWEEN определяет минимальную и максимальную границу диапазона, в которое должно попадать значение атрибута. Обе границы считаются принадлежащими диапазону.

Пример 9.
Определить номера деталей, с ценой от 10 до 20 рублей.

Пример 10.
Вывести наименования поставщиков, начинающихся с букв от ‘К’ по ‘П’.

Буква ‘Р’ в условии запроса объясняется тем, что строки сравниваются посимвольно. Для каждого символа при этом определяется код. Для нашего случая справедливо условие: ‘П’ LIKE используется для поиска подстрок. Значения столбца, указываемого перед служебным словом LIKE сравниваются с задаваемым после него шаблоном. Форматы шаблонов различаются в конкретных СУБД.

Для СУБД MS SQL Server:

Множество символов в квадратных скобках можно указывать через запятую, либо в виде диапазона.

Пример 11.
Вывести фамилии поставщиков, начинающихся с буквы ‘И’.

Пример 12.
Вывести фамилии поставщиков, начинающихся с букв от ‘К’ по ‘П’.

Проверка на наличие null-значения

Пример 13.
Определить наименования деталей, для которых не указана цена.

Пример 14.
Определить номера поставщиков, для которых указано наименование.

Предложение GROUP BY

Использование GROUP BY позволяет разбивать таблицу на логические группы и применять агрегатные функции к каждой из этих групп. В результате получим единственное значение для каждой группы.

Обычно предложение GROUP BY применяют, если формулировка задачи содержит фразу «для каждого…», «каждому..» и т.п.

Пример 18.
Определить суммарный объем деталей, поставляемых каждым поставщиком.

pnumsum
1600
2400
31000

Выполнение запроса можно описать следующим образом: СУБД разбивает таблицу PD на три группы, в каждую из групп помещаются строки с одинаковым значением номера поставщика. Затем к каждой из полученных групп применяется агрегатная функция SUM, что дает единственное итоговое значение для каждой группы.

Рассмотрим два похожих примера.

В примере 1 определяется минимальный объем поставки каждого поставщика. В примере 2 определяется объем минимальной поставки среди всех поставщиков.

Результаты запросов представлены в следующей таблице:

pnumminmax
1100100
2150
31000

Следует обратить внимание, что в первом примере мы можем вывести номера поставщиков, соответствующие объемам поставок, а во втором примере – не можем.

Пример 19.
Для каждой из деталей с номерами 1 и 2 определить количество поставщиков, которые их поставляют, а также суммарный объем поставок деталей.

dnumCOUNTSUM
131250
22450

Чтобы организовать вложенные группировки, после GROUP BY следует указать несколько группирующих столбцов через запятую. В этом случае реальный подсчет данных будет происходить по той группе, которая указана последней.

Предложение HAVING

Пример 20.
Определить номера поставщиков, поставляющих в сумме более 500 деталей.

pnumSUM
1600
31000

Пример 21.
Определить номера поставщиков, которые поставляют только одну деталь.

Предложение ORDER BY

При выполнении запроса СУБД возвращает строки в случайном порядке. Предложение ORDER BY позволяет упорядочить выходные данные запроса в соответствии со значениями одного или нескольких выбранных столбцов.

Пример 22.
Отсортировать таблицу PD в порядке возрастания номеров поставщиков, а строки с одинаковыми значениями pnum отсортировать в порядке убывания объема поставок.

pnumvolumednum
13003
12002
11001
22502
21501
310001

Пример 24.
Определить номера первых двух деталей с наименьшей стоимостью.

Следует отметить, что если в таблице D будут две детали без указания цены, то именно их и отобразит предыдущий запрос.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *