|
Программирование >> Преобразование значений null
SCOTT 3000 KING 5000 TURNER 1500 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 Используя значения столбца IS NULL, можно без труда вынести строки со значениями NULL в начало или конец списка, не вмешиваясь в сортировку COMM. Сортировка по зависящему от данных ключу Задача Требуется провести сортировку с применением некоторой условной логики. Например, если значение JOB - SALESMAN (агент по продажам), сортировка должна осуществляться по столбцу COMM; в противном случае сортируем по SAL. Необходимо получить следующее результирующее множество:
Решение Используйте выражение CASE в операторе ORDER BY: 1 select ename,sal,job,comm 2 from emp 3 order by case when job = SALESMAN then comm else sal end Обсуждение Для динамического изменения принципа сортировки результатов запроса может использоваться выражение CASE. Значения, передаваемые в оператор ORDER BY, выглядят следующим образом: select ename,sal,job,comm, case when job = SALESMAN then comm else sal end as ordered from emp order by 5
Работа с несколькими таблицами Данная глава знакомит с использованием объединений и операций над множествами для комбинирования данных нескольких таблиц. Объединения лежат в основе SQL. Операции над множествами также имеют очень большое значение. Путь к овладению сложными запросами, о которых рассказывается в последующих главах книги начинается здесь, с объединений и операций над множествами. Размещение одного набора строк под другим Задача Требуется извлечь данные, хранящиеся в нескольких таблицах, размещая одно результирующее множество под другим. Необязательно, чтобы у таблиц был общий ключ, но типы их столбцов должны совпадать. Например, необходимо вывести на экран имена и номер отдела служащих 10-го отдела, хранящиеся в таблице EMP, а также названия и номера всех отделов из таблицы DEPT. Должно быть получено следующее результирующее множество: ENAME AND DNAME DEPTNO CLARK 10 KING 10 MILLER 10 ACCOUNTING 10 RESEARCH 20 SALES 30 OPERATIONS 40
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |