
- •Лабораторная работа 4
- •Цели лабораторной работы
- •Описание и примеры
- •Основные фразы запроса: select и from Фраза select
- •Фраза from
- •Фраза where
- •Использование простых условий Использование операторов сравнения
- •Логические операторы
- •Выражение над столбцами во фразе where
- •Специальные операторы Оператор in
- •Оператор between
- •Оператор like
- •Операторы is null и is not null.
- •Варианты заданий
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Контрольные вопросы
- •Приложения Приложение a. Операторы sql Oracle
- •Унарные и бинарные операторы
- •Старшинство операторов
- •Арифметические операторы
- •Оператор конкатенации
- •Операторы сравнения
- •Логические операторы
- •Теоретико-множественные операторы
- •Приложение b. Выражения
- •Простые выражения
Описание и примеры
SQL-запрос описывается с помощью предложения SELECT с использование следующих фраз:
SELECT, FROM, WHERE, GROUP BY, HAVING, UNION, UNION ALL, INTERSECT, MINUS, ORDER BY.
Имеются также и другие фразы, которые мы не будем изучать. Среди перечисленных выше фраз только SELECT и FROM являются обязательными, все остальные – факультативные.
В этой лабораторной работе мы изучим основные возможности фраз SELECT, FROM и WHERE.
Основные фразы запроса: select и from Фраза select
В простейшем случае фраза SELECT содержит список столбцов, которые следует вывести, а фраза FROM идентифицирует таблицу.
Вывод указанных столбцов. Для вывода конкретных столбцов они должны быть перечислены во фразе SELECT. Следующий запрос выводит названия факультетов и имена их деканов:
SELECT Name, Dean
FROM FACULTY;
Вывод всех столбцов. Для вывода всех столбцов таблицы следует либо перечислить все столбцы во фразе SELECT, либо воспользоваться символом ‘*’ вместо списка столбцов. В следующем запросе выводится вся таблица FACULTY:
SELECT *
FROM FACULTY;
Квалификация имен столбцов именами таблиц. Имя столбца может быть квалифицировано (уточнено) именем таблицы с использованием следующего синтаксиса:
table_name.column_name
Уточнение имени столбца необходимо в том случае, когда запрос использует много таблиц (см. позже) и различные таблицы имеют столбцы с одинаковыми именами. Уточнение имени столбца можно производить и в том случае, когда нет необходимости в этом. Например, следующий запрос считается корректным:
SELECT ROOM.Num, ROOM.Seats, ROOM.Floor
FROM ROOM;
Удаление повторяющихся строк. Вы можете удалить дубликаты строк результата, используя фразу DISTINCT или UNIQUE во фразе SELECT. Эта фраза применяется ко всей выходной строке, а не к отдельному столбцу. Например, следующий два запроса эквивалентны и дают список всех имеющихся должностей:
SELECT DISTINCT Post SELECT UNIQUE Post
FROM TEACHER; FROM TEACHER;
Ключевое слово ALL означает, что дубликаты должны быть сохранены. Это значение используется по умолчанию, если перечисленные выше ключевые слова не указываются. Следующие два запроса эквивалентны:
SELECT ALL Post SELECT Post
FROM TEACHER; FROM TEACHER;
Выражения в списке фразы SELECT. Список фразы SELECT может содержать не только имена столбцов, но и произвольные выражения допустимых типов, которые поддерживаются SQL Oracle. Например, следующий запрос является корректным:
SELECT Name, Salary, Salary + Commission, Commission * 100 / (Salary + Commission)
FROM TEACHER;
Литералы в списке фразы SELECT. Список фразы SELECT может содержать литералы или литеральные выражения. Во время вывода столбец с литералом будет содержать значение литерала во всех выходных строках. Например, запрос:
SELECT 'The teacher', Name, 'has salary', Salary, 'UAH'
FROM TEACHER;
может иметь следующий результат:
Name Salary
------------ ----------- ----------- ---------- ---
The teacher Ivanov has salary 500 UAH
The teacher Petrov has salary 470 UAH
Переименование элементов списка фразы SELECT. Любой элемент списка фразы SELECT может быть переименован с помощью так называемого «алиаса столбца». Это оказывается особенно полезным, когда следует сослаться на элемент, который представляет собой выражение. Алиас столбца также используется в качестве заголовка столбца при выводе результатов. В следующем запросе оба элемента списка SELECT переименовываются с помощью алиаса столбца:
SELECT Name AS Teacher_name,
Salary + Commission AS Total_salary
FROM TEACHER;
Ключевое слово AS факультативно.
Если вы хотите, чтобы алиас представлял собой несколько слов, разделенных пробелами, то алиас следует заключить в двойные кавычки, например:
SELECT Name AS “Name of the teacher“,
Salary + Commission AS “Total salary of the teacher“
FROM TEACHER;