Главная страница

SQL. Выборка данных. Простейшие selectзапросыselect distinct


Скачать 0.51 Mb.
НазваниеПростейшие selectзапросыselect distinct
Дата01.04.2022
Размер0.51 Mb.
Формат файлаpdf
Имя файлаSQL. Выборка данных.pdf
ТипДокументы
#433603

ВЫБОРКА ДАННЫХ
(ОПЕРАТОР SELECT).

Простейшие SELECT-запросы
SELECT [DISTINCT]
<список атрибутов>
- % Ключевое слово
SELECT -запрос на извлечение информации.
FROM
<список таблиц>
- % указывается список таблиц через запятую, из которых извлекается информация
[
WHERE
<условие выборки
>] - % задает выражение условий
[
ORDER BY
<список атрибутов>]
- % упорядочивает выводимые записи в соответствии со значениями столбцов
[
GROUP BY
<
список атрибутов
>] - % группирует записи в подмножества
[
HAVING
<условие>]
- % осуществляет фильтрацию групп
[
UNION
<выражение с оператором SELECT>];
- % объединение данных двух и более SQL-запросов
После слова
SELECT
через запятую перечисляются
наименования полей
(список атрибутов), содержимое которых запрашивается.

ПРИМЕР:
SELECT
NAME, SURNAME
FROM
STUDENT;
Если необходимо вывести все поля таблицы, то используем
*
ПРИМЕР:
SELECT
*
FROM
STUDENT;

DISTINCT
запрос «Получить список названий городов, где проживают студенты, сведения о которых находятся в таблице STUDENT», можно записать в следующем виде.
ПРИМЕР 1
SELECT
CITY
FROM
STUDENT;
DISTINCT
исключает дубликаты строк, в которых значения всех выбранных полей идентичны.
ПРИМЕР 2
SELECT DISTINCT
CITY
FROM
STUDENT;
ALL
(все), в отличие от DISTINCT, оказывает противоположное действие, используется по умолчанию

Использование ключевого слова
WHERE
WHERE (где
), позволяет задавать выражение условия (предикат), принимающее значение
истина или ложь для значений полей строк таблиц, к которым обращается оператор
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;

Операторы IN, BETWEEN, LIKE, is
NULL
Используются в предложении
WHERE
операторы сравнения
«=, <, >, <=, >=, <>» и операторы
IN, BETWEEN и LIKE
ни в коем случае нельзя использовать для проверки содержимого поля на наличие в нем пустого значения
NULL

Оператор IN (равен любому из списка) используются для сравнения проверяемого значения поля с заданным списком
Построенный с использованием
IN
предикат (условие) счи- тается истинным
, если значение поля, имя которого указано слева от
IN
,
совпадает
(подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от
IN
Пример 1
. Получить из таблицы EXAM_MARKS сведения о студентах,
имеющих экзаменационные оценки только 4 и 5.
SELECT
*
FROM
EXAM_MARKS
WHERE
MARK
IN
(4, 5 ) ;

Оператор NOT IN
(не равен ни одному из списка)
Предикат, построенный с использованием
NOT IN
, считается истинным, если значение поля, имя которого указано слева от
NOT IN
,
не совпадает
ни с одним из значений, перечисленных в списке, указанном в скобках справа от
NOT
IN
ПРИМЕР 2.
Получить сведения о студентах, не имеющих ни одной экзаменационной оценки, равной 4 и 5.
SELECT
*
FROM
EXAM_MARKS
WHERE
MARK
NOT IN
(4, 5 ) ;

Оператор BETWEEN
используется для проверки условия вхождения значения поля в заданный интервал, то есть вместо списка значений атрибута этот оператор задает границы его изменения
ПРИМЕР:
запрос на вывод записей о предметах, на изучение которых отводится количество часов, находящееся в пределах между 30 и 40, имеет вид:
SELECT
*
FROM
SUBJECT
WHERE
HOUR
BETWEEN
30
AND
40;
!!!
значения 30 и 40, входят во множество значений
!!!
оператор
BETWEEN
может использоваться как для числовых, так и для символьных типов полей.

Оператор LIKE
применим только к символьным полям типа
CHAR
или
VARCHAR.
Этот оператор просматривает строковые значения полей с целью определения, входит ли заданная в операторе
LIKE
подстрока (
образец поиска
) в символьную строку-значение проверяемого поля:

символ подчеркивания
«_»
,
указанный в
шаблоне, определяет возможность наличия в указанном месте одного любого символа
;
• символ
«%»
допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длины

Оператор LIKE
Пример
Написать запрос, выбирающий из таблицы STUDENT
сведения о студентах, фамилии которых начинаются на букву
«Р»
SELECT
*
FROM
STUDENT
WHERE
SURNAME
LIKE
'P%';

Числовые, символьные и
строковые константы
SELECT
‘Фамилия’,
SURNAME,
‘Имя’,
NAME, 100
FROM
STUDENT;

Арифметические операции для
преобразования числовых данных

Унарный (одиночный) оператор «—»
(знак минус) изменяет знак числового значения, перед которым он указан, на противоположный.

Бинарные операторы «+», «—», «*» и «/» предоставляют возможность выполнения арифметических операций сложения, вычитания, умножения и деления.
ПРИМЕР:
SELECT
SURNAME, NAME, STIPEND,
- (STIPEND*KURS)/2
FROM
STUDENT
WHERE
KURS = 4 AND STIPEND > 0;

Операция конкатенации строк
Операция конкатенации
«||»
позволяет соединять значения двух или более столбцов символьного типа или символьных констант в одну строку.
синтаксис
<значимое символьное выражение >
{||}
<значимое символьное выражение>
.
ПРИМЕР:
SELECT
SURNAME
||_||
NAME
AS ‘
ФИ’
, STIPEND
FROM
STUDENT
WHERE
KURS = 4 AND STIPEND > 0;
ФИ

УПРАЖНЕНИЯ ЧАСТЬ 1

УПРАЖНЕНИЯ ЧАСТЬ 1
(продолжение)

УПРАЖНЕНИЯ ЧАСТЬ 2


написать администратору сайта