Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Простейшие SELECT-запросы




Оператор SELECT (ВЫБРАТЬ) языка SQL является самым важным и наиболее часто используемым оператором. Он предназначен для выборки информации из таблиц базы данных. Упрощенный синтаксис оператора SELECT выглядит следующим образом.

SELECT [DISTINCT] <список выражений над атрибутами и константами>
FROM <список таблиц>

[WHERE <условие выборки ]

[GROUP BY <скисок итрибутов>]

[HAVING <условие>]

[UNION <выражение с оператором SELECT>]

[ORDER BY <список атрибутов>];

В квадратных скобках указаны элементы, которые могут отсутствовать в запросе.

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

Обязательным ключевым словом в предложении-запросе SELECT является слово FROM (ИЗ). За ключевым словом FROM указывается список разделенных запятыми имен таблиц, из которых извлекается информация.

Например,

SELECT NAME, SURNAME FROM STUDENT;

Любой SQL-запрос должен заканчиваться символом ";" (точка с запятой).

Приведенный запрос осуществляет выборку всех значений полей NAME и SURNAME из таблицы STUDENT.

Его результатом является таблица:

Порядок следования столбцов в этой таблице соответствует порядку полей NAME и SURNAME, указанному в запросе; а не их порядку во входной таблице STUDENT.

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

 

SELECT *

FROM STUDENT;

 

В данном случае в результате выполнения запроса будет получена вся таблица STUDENT.

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

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

 

SELECT ClTY FROM STUDENT;

 

Его результатом будет таблица

Видно, что в таблице встречаются одинаковые строки (выделены жирным шрифтом).

Для исключения из результата SELECT-запроса повторяющихся записей используется ключевое слово DISTINCT (ОТЛИЧНЫЙ). Если запрос SELECT извлекает множество полей, то DISTINCT исключает дубликаты строк, в которых значения всех выбранных полей идентичны.

Запрос "Определить список названий различных-roponoa, где проживают студенты, сведения о которых находятся в таблице STUDENT" можно записать в следующем виде.

SELECT DISTINCTCITY FROM STUDENT;

 

В результате получим таблицу, в которой дубликаты строк исключены:

Ключевое слово ALL (ВСЕ), в отличие от DISTINCT, оказывает противоположное действие, т. е. при его использовании повторяющиеся строки включаются в состав выходных данных. Режим, задаваемый ключевым словом ALL, действует по умолчанию, поэтому в реальных запросах для этих целей оно практически не используется.

Использование в операторе SELECT предложения, определяемого ключевым словом WHERE (ГДЕ), позволяет задавать выражение- условия (предикат), принимающее значение истина или ложь (а также неизвестно при использовании NULL) для значений полей строк таблиц, к которым обращается оператор SELECT. Предложение WHERE определяет, какие строки указанных таблиц должны быть выбраны. В таблицу, являющуюся результатом запроса, включаются только те строки, для которых условие (предикат); указанное в предложении WHERE, принимает значение истина.

Пример.

Написать запрос, выполняющий выборку имен (NAME) всех студентов с фамилией (SURNAME) Петров, сведения о которых находятся в таблице STUDENT.

 

SELECT SURNAME, NAME

FROM STUDENT

WHERE SURNAME = 'Петров'

 

Результатом этого запроса будет таблица

 

В задаваемых в предложении WHERE условиях могут использоваться операции сравнения, определяемые следующими операторами: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно), а также логические операторы AND, ORи NOT.

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

 

SELECT NAME, SURNAME

FROM STUDENT

WHERE (KURS = 3 AND STIPEND > 0);

 

Результат выполнения этого запроса имеет вид:

 

 


Поделиться:

Дата добавления: 2015-04-11; просмотров: 661; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты