Базовая команда select
SELECT * | {[DISTINCT] column | expression [alias], ...}
FROM table;
Простейшая команда SELECT должна включать следующее:
-
предложение SELECT, задаёт выходные столбцы;
-
предложение FROM, указывает таблицу, которая содержит столбцы, заданные в предложении SELECT.
Примечание
В курсе используются термины ключевое слово, предложение и команда.
Ключевое слово (keyword) - это отдельный элемент SQL, (например SELECT и FROM);
Предложение (clause) - это часть команды SQL (например. SELECT employee_id, last name, …).
Команда (statement) - это комбинация из двух или более предложений (например, SELECT * FROM employees)
Выборка всех столбцов
SELECT *
FROM departments;
Выборка конкретных столбцов
SELECT department_id, location_id
FROM departments;
Написание команд SQL
• Команды SQL не различают регистры символов.
• Команды SQL могут занимать одну или несколько строк.
• Ключевые слова нельзя сокращать и размещать на нескольких строках.
• Предложения обычно располагаются на отдельных строках.
• Отступы и табуляцию используют для облегчения чтения команды.
• В SQL*plus каждая команда SQL должна завершаться символом (;).
Заголовки столбцов по умолчанию
SQL*Plus:
– Символьные данные и Даты - по левому краю.
– Числовые данные – по правому краю.
– По умолчанию отображаются в верхнем регистре.
Арифметические выражения
Создаются из данных типа NUMBER и DATE с помощью арифметических операторов.
-
Оператор
Описание
+
Сложение (Add)
-
Вычитание (Subtract)
*
Умножение (Multiply)
/
Деление (Divide)
Пример
SELECT last_name, salary, salary + 300
FROM employees;
В этом примере оператор сложения используется для прибавления 300 долларов к окладу всех служащих; новый оклад выводится в столбце SALARY+300. Следует отметить, что столбец SALARY+300 не является новым столбцом таблицы EMPLOYEES, а используется только для вывода результатов вычислений.
Приоритеты операторов
-
Умножение и деление имеют приоритет над сложением и вычитанием.
-
Операторы с одинаковым приоритетом выполняются слева направо.
-
Для выполнения операторов в определённом порядке и упрощения их чтения используют скобки. Выражения в скобках вычисляются первыми.
Пример
Команды (1)
SELECT last_name, salary, 12*salary+100
FROM employees;
и (2)
SELECT last_name, salary, 12*(salary+100)
FROM employees;
вернут разные значения в третьем столбце.
Неопределённое значение (null)
-
Неопределённое значение (NULL) – это значение, которое недоступно, не присвоено, неизвестно или неприменимо.
-
Это не ноль и не пробел.
SELECT last_name, job_id, salary, commission_pct
FROM employees;
Если в строке отсутствует значение какого-либо столбца, считается, что столбец содержит неопределенное значение (NULL).
Неопределенные значения допускаются в столбцах с данными любого типа за исключением случаев, когда столбец был создан с ограничением NOT NULL или PRIMARY KEY.
Столбец COMMISSION_PCT таблицы EMPLOYEES показывает, что получать комиссионные могут только продавцы. Другие служащие нрава па комиссионные не имеют. Это показано неопределенным значением в столбце.