Введение в СУБД "Oracle". Космачев В.М - 45 стр.

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
45
[GROUP BY выражение, выражение...] [HAVING условие]
[{UNION | INTERSECT | MINUS SELECT...}]
[{ORDER BY выражение | ASC | DESC,...}]
[FOR UPDATE OF столбец, столбец...] [NOWAIT];
Оператор SELECT извлекает данные из столбцов одной или нескольких таблиц. Оператор SELECT сам по себе
является запросом. Если он используется как предложение внутри другого оператора, то он называется подзапросом.
В операторе SELECT обязательно должно присутствовать предложение FROM. Остальные предложения не являются
необходимыми. При совместном использовании нескольких предложений они должны быть записаны в указанном
выше порядке. Оператор выборки можно прочитать примерно так: SELECT (выбрать) все столбцы (если используется
оператор *) или конкретно перечисленные столбцы WHERE (для которых) выполняются или не выполняются
определенные условия. Такая фраза WHERE может содержать другой запрос SQL. Для выборки одного или
нескольких столбцов из таблицы можно указать имя столбца после фразы SELECT. Имя каждого последующего
столбца должно быть отделено от предыдущего запятой. Фраза WHERE позволяет ограничить число строк,
возвращаемых запросом, или выполнить выборку только определенных строк.
Поскольку Oracle — это реляционная база данных, одни таблицы можно связать с другими с использованием
фразы WHERE. Для выборки столбцов из двух или нескольких таблиц, содержащих взаимосвязанные данные, можно
связать между собой столбцы с одним и тем же типом данных (и, в случае необходимости, согласовать типы данных с
помощью функции. Если столбцы соединяемых таблиц имеют одинаковые имена, то ссылки на таблицы должны
быть уточнены для указания того, к каким таблицам принадлежат эти столбцы.
Пример.
SELECT ename,dname FROM emp,dept WHERE emp.deptno =10 AND emp.deptno=dept.deptno;
Здесь выбираются столбцы ename, dname из таблиц emp,dept соответсвенно. Связь по полю deptno.
Oracle поддерживает следующие операторы сравнения:
= равно
!= не равно
> больше
< меньше
>= больше или равно
<= меньше или равно
IN(list) равно любому эл-ту в списке list
BETWEEN op1 AND op2 >=op1 и <=op2
LIKE % сопоставление частей строки
IS NULL проверка отсутствия данных
AND
OR
NOT
В версии Oracle9i поддерживаются также арифметические операции. Такие операции могут применяться в различных
частях оператора SQL, включая фразы SELECT, WHERE и ORDER BY. Для управления порядком вычисления
выражений могут применяться круглые скобки. Например, выражение 4 * sal + comm приводит к получению иного
результата по сравнению с выражением 4 * (sal + comm). В арифметических выражениях можно использовать
значения констант и столбцов таблиц (sal * .05) или только значения столбцов таблиц. Кроме того, для получения
требуемых результатов может быть задано несколько Условий. Для выполнения логических операций применяются
два основных оператора: AND позволяет ввести дополнительные критерии отбора, a OR объединяет результаты
отбора по двум критериям.
Примеры
SELECT ename,deptno,job,sal FROM emp WHERE sal BETWEEN 1000 AND 2000
SELECT ename,deptno,job,sal FROM emp WHERE ename LIKE ‘%S’