О. Ткачев - Основы программирования в СУБД Oracle. SQL+PL/SQL.

Тут можно читать онлайн О. Ткачев - Основы программирования в СУБД Oracle. SQL+PL/SQL. - бесплатно ознакомительный отрывок. Жанр: Прочая околокомпьтерная литература. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

О. Ткачев - Основы программирования в СУБД Oracle. SQL+PL/SQL. краткое содержание

Основы программирования в СУБД Oracle. SQL+PL/SQL. - описание и краткое содержание, автор О. Ткачев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В этой книге рассмотрены Oracle версия SQL и его расширение PL/SQL, содержится описание синтаксиса и правил использования всех основных конструкций этих языков. Излагаемый материал иллюстрируется многочисленными примерами, позволяющими понять, при решении каких задач целесообразно использовать рассматриваемый элемент языка.Книга может быть использована как в учебном процессе, при изучении дисциплины «Базы данных» студентами IT-специальностей, так и для самостоятельного освоения SQL и PL/SQL.

Основы программирования в СУБД Oracle. SQL+PL/SQL. - читать онлайн бесплатно ознакомительный отрывок

Основы программирования в СУБД Oracle. SQL+PL/SQL. - читать книгу онлайн бесплатно (ознакомительный отрывок), автор О. Ткачев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Пример 2.30. Получить данные о сотрудниках, для которых известен номер руководителя

SELECT employee_id, first_name, last_name, department_id

FROM Employees

WHERE manager_id IS NOT NULL;

Использование вычисляемых столбцов

В предложении SELECT, кроме списка столбцов таблиц участвующих в запросе, могут присутствовать вычисляемые столбцы, которые представляют собой выражения, состоящие из имен столбцов, констант, функций и арифметических операций. Значению вычисляемого поля можно присвоить имя. Для этого используется следующая конструкция:

{Выражение} As {псевдоним}

При вычислении выражения, содержащего несколько арифметических операций, Oracle выполняет операции с более высоким приоритетом перед выполнением операций с более низким приоритетом.

Сначала выполняются операции умножения и деления, которые имеют одинаковый приоритет, потом сложения и вычитания, которые также относительно друг друга имеют одинаковый приоритет.

Если операции в выражении имеют одинаковый приоритет, то их выполнение производится слева направо.

Рассмотрим примеры использования вычисляемых столбцов. Если значение столбца commission_pct в таблице Employees обозначает надбавку к зарплате как часть заработной платы, то общая зарплата с учетом комиссионных может быть вычислена с использованием выражения:

SALARY * (1 + COMMISSION_pct) As Total_Salary

Следует иметь в виду то, что у некоторых сотрудников значение столбца commission_pct равно NULL. А если один из элементов выражения равен NULL, то и все выражение будет иметь значение NULL. Данную проблему можно решить, используя специальные функции, которые мы рассмотрим позже.

Пример 2.31. Вывести данные о размере комиссионных для сотрудников, которые получают комиссионные

SELECT employee_id, first_name, last_name, department_id,

commission_pct*salary as commission

FROM Employees

WHERE commission_pct IS NOT NULL;

Вычисляемые столбцы можно использовать в предложении WHERE Пример 232 - фото 34

Вычисляемые столбцы можно использовать в предложении WHERE.

Пример 2.32. Вывести данные о продажах товаров, в которых сумма одной покупки превышала 300 000

SELECT product_id, order_id, item_id, quantity, unit_price,

quantity*unit_price

FROM Order_items

WHERE quantity*unit_price> 300000;

Использование псевдостолбца ROWNUM Значение псевдостолбца ROWNUM равно номеру - фото 35

Использование псевдостолбца ROWNUM

Значение псевдостолбца ROWNUM равно номеру записи, возвращаемой запросом. Используя этот столбец, можно ограничить число строк в результате выполнения запроса.

Пример 2.33. Вывести пять строк с данными о продажах товаров, в которых сумма одной покупки превышала 300 000

SELECT product_id, order_id, item_id, quantity, unit_price,

quantity*unit_price

FROM Order_items

WHERE quantity*unit_price> 300000

AND ROWNUM <=5;

Следует иметь в виду что любой запрос содержащий условие ROWNUM N где N - фото 36

Следует иметь в виду, что любой запрос, содержащий условие ROWNUM = N, где N> 1, будет пуст. Это происходит потому, что первая строка, возвращаемая запросом, имеет значение ROWNUM = 1, это значение не удовлетворяет условию ROWNUM = N и поэтому не попадает в результат выполнения запроса. После этого каждая следующая строка будет иметь значение ROWNUM = 1 и также не будет удовлетворять условию ROWNUM = N.

Оператор конкатенации

Оператор конкатенации (слияния) записывается двумя вертикальными чертами ( ||) и используются для того, чтобы объединить при выводе данных два или несколько столбцов или литералов в один столбец.

Синтаксис:

{столбец1/литерал1} || {столбец2/литерал2} …As {псевдоним}

Оператор конкатенации можно применять для строк, чисел и дат. Даты и числа при слиянии конвертируются в строковые значения. При слиянии строки значения со значением типа NULL Oracle возвращает строковое значение.

Пример 2.34. Вывести данные о заказах, оформленных сотрудником 165

SELECT ′ Order ′ ||order_id|| ′ from ′ ||order_date

|| ′ is ′ ||status AS Order_Statys

FROM Orders

WHERE salesman_id =165;

Сортировка Результат выполнения оператора SELECTможет быть упорядочен по - фото 37

Сортировка

Результат выполнения оператора SELECTможет быть упорядочен по значению одного или нескольких столбцов. Для этого служит предложение ORDER BY, которое имеет следующий синтаксис:

ORDER BY {имя столбца | номер столбца [ASC|DESC]}

Пример 2.35. Вывести данные о сотрудниках, упорядочив их в порядке убывания зарплаты

SELECT employee_id, first_name, last_name, department_id, salary

FROM Employees

ORDER BY salary DESC;

Отсортировать результат можно по значениям нескольких столбцов. Сначала строки упорядочиваются по значению первого столбца. Строки, имеющие одинаковые значения первого столбца, упорядочиваются по значению второго столбца, и т. д. Для каждого столбца можно указать свой порядок сортировки.

Пример 2.36. Вывести данные о сотрудниках, упорядочив их в порядке возрастания номеров отделов, в которых они работают. Данные о сотрудниках, которые работают в одном отделе, упорядочить в порядке убывания зарплаты

SELECT employee_id, first_name, last_name, department_id, salary

FROM employees

ORDER BY department_id, salary DESC;

В предложении ORDER BY можно использовать псевдонимы столбцов.

Пример 2.37. Вывести данные о сотрудниках, которые получают комиссионные, упорядочив их в порядке убывания суммы комиссионных

SELECT employee_id, first_name, last_name, department_id,

commission_pct*salary as commission

FROM Employees

WHERE commission_pct IS NOT NULL

ORDER BY commission DESC;

Можно сортировать строки по столбцам, не указанным в предложении SELECT.

Пример 2.38. Вывести данные о сотрудниках, которые работают в отделе 80, упорядочив их в порядке убывания рейтинга

SELECT employee_id, first_name, last_name, department_id, salary

FROM Employees

WHERE department_id = 80

ORDER BY rating_e;

Следует иметь в виду, что запрос с группировкой, содержащий условие ROWNUM ≤ N, не вернет первые N строк из всего набора записей, удовлетворяющих условиям запроса отсортированные по значениям определенного столбца. Это происходит потому, что сначала проверяется условие ROWNUM ≤ N, затем осуществляется сортировка. Это может стать причиной трудно обнаруживаемых ошибок. Для иллюстрации этого утверждения рассмотрим следующий пример.

Пример 2.39. Вывести пять строк с данными о продажах товаров с максимальными суммами (запрос содержит ошибку)

SELECT product_id, order_id, item_id, quantity, unit_price,

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


О. Ткачев читать все книги автора по порядку

О. Ткачев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Основы программирования в СУБД Oracle. SQL+PL/SQL. отзывы


Отзывы читателей о книге Основы программирования в СУБД Oracle. SQL+PL/SQL., автор: О. Ткачев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x