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

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
25
делено от предыдущего запятой. Фраза 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’
SELECT ename,deptno,job,sal FROM emp WHERE job IS NULL
Оператор избыточного соединения
SELECT ...
FROM таблица1, таблица2, ...
WHERE таблица1.столбец = таблица2.столбец (+)
Оператор избыточного соединения (+) вызывает извлечение из соединенных таблиц не только строк,
удовлетворяющих условию соединения, но еще и строк, не отвечающих условию, из таблицы.столбца, помеченных
оператором (+). Избыточное соединение в операторе SELECT можно производить только с одной таблицей
.