Введение в Select в Oracle
Oracle является одной из наиболее широко используемых баз данных в отрасли. Наиболее часто используемый запрос - это запрос SELECT. Этот запрос используется для извлечения данных из одной или нескольких таблиц в базе данных. Запрос SELECT используется не только один, но вместе с ним, многие условия, предложения и внутренние запросы используются для получения данных из баз данных в отрасли. Запрос SELECT не манипулирует никакими данными в таблице, в которой он выполняется. В этой статье мы обсудим различные способы использования запроса SELECT в ORACLE.
Синтаксис:
SELECT expressions
FROM tables
(WHERE conditions);
Первые две строки в синтаксисе являются обязательной частью синтаксиса, но (условия WHERE) являются необязательными, поскольку они используются, если мы хотим извлечь данные из одной или нескольких таблиц на основе некоторых условий. «Выражения» в синтаксисе представляют столбцы таблицы. Если мы хотим извлечь все поля из таблицы, мы ставим '*' вместо 'выражений' в синтаксисе, в противном случае мы ставим имена столбцов.
Примеры реализации Select в Oracle
Ниже приведены различные примеры выбора в Oracle.
1. ВЫБЕРИТЕ все поля без условия WHERE
Чтобы выбрать все поля из таблиц: Мы будем использовать символ «*», чтобы показать, что мы хотим извлечь все поля из определенной таблицы.
Запрос:
SELECT * from employee;
Этот запрос будет извлекать все записи из таблицы, поскольку к ней не добавлено условие условия.
Выход:
2. ВЫБЕРИТЕ все поля с условием ГДЕ
Теперь мы будем использовать условие where для того же ранее использованного запроса. В этом запросе нам нужны только данные конкретного сотрудника. Для достижения этого мы будем использовать условие where. давайте посмотрим на запрос
Запрос:
SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';
Мы используем EMPLOYEE_ID в этом запросе, так как он является первичным ключом в этой таблице и поэтому является уникальным.
Выход:
3. ВЫБЕРИТЕ одно поле из таблицы
В этом примере мы будем использовать инструкцию SELECT, чтобы выбрать несколько полей, но не все поля из таблицы. Давайте посмотрим на запрос.
Запрос:
SELECT employee_id, name from employee;
Этот запрос будет отображать только два столбца, потому что мы не использовали '*' после SELECT в этом запросе.
Выход:
4. ВЫБЕРИТЕ поля из нескольких таблиц
В этом примере мы собираемся использовать инструкцию SELECT для извлечения данных из более чем одной таблицы, используя JOIN. Давайте посмотрим на запрос.
Запрос:
SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;
Здесь в этом запросе мы используем оператор SELECT, который объединяет две таблицы на основе условия, что идентификатор транспортного средства из таблицы сотрудников должен совпадать с идентификатором транспортного средства из таблицы транспортных средств. Запрос отображает имя сотрудника из таблицы сотрудников и имя транспортного средства из таблицы транспортных средств.
Выход:
5. Отображение записей по порядку с помощью SELECT
Мы также можем отображать определенные записи в ORDER, которые могут быть восходящими или нисходящими, используя предложение ORDER BY с запросом. Мы рассмотрим запросы как по возрастанию, так и по убыванию.
а. Запрос по возрастанию
SELECT * from employee ORDER BY name ASC;
В этом запросе мы отображаем все записи, и результирующий набор сортируется по имени в порядке возрастания.
На снимке экрана ниже показан результат выполнения запроса в SQL Developer.
Выход:
б. Запрос по убыванию
SELECT * from employee ORDER BY name DESC;
В этом запросе мы отображаем все записи из таблицы, и результирующий набор сортируется по имени в порядке убывания
На снимке экрана ниже показан результат выполнения запроса в SQL Developer.
Выход:
6. ВЫБЕРИТЕ запрос с предложением GROUP BY
Мы используем предложение GROUP BY с оператором SELECT, когда хотим получить записи, основанные на группах. Так что в основном он группирует строки с одинаковыми значениями. Обычно используется в сопряжении с агрегатными функциями. Это полезно при составлении сводных отчетов.
Теперь мы рассмотрим пример, чтобы увидеть, как мы можем использовать GROUP BY с оператором SELECT в базе данных oracle.
Запрос:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;
Таким образом, в приведенном выше примере мы находим количество сотрудников, использующих автомобиль определенной марки. GROUP BY группирует записи в зависимости от типа автомобиля, а затем мы используем статистическую функцию COUNT для расчета количества сотрудников в каждой группе, используя столбец employee_id, поскольку он является первичным ключом таблицы.
Выход:
7. ВЫБЕРИТЕ запрос с предложением HAVING
Предложение has используется с оператором select, где мы хотим иметь некоторые условия, когда ключевое слово нельзя использовать напрямую с агрегатными функциями. Это причина, по которой в SQL был добавлен пункт Имеющий. Мы собираемся увидеть пример того, как мы можем использовать предложение has с оператором select.
Запрос:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;
Как мы видим, мы добавили предложение HAVING в GROUP BY, из-за чего мы можем поставить условие, что должны отображаться только автомобили с количеством сотрудников более двух. Вот где предложение HAVING становится полезным.
Выход:
Если мы видим вывод, мы получаем только две записи вместо пяти, которые мы получили, когда использовали функцию GROUP BY.
Вывод
В этой статье мы узнали синтаксис и причину, по которой мы используем SELECT, а также различные способы, которыми мы можем написать запрос SELECT в SQL, а также где и по какой причине мы должны их использовать.
Рекомендуемые статьи
Это руководство по выбору в Oracle. Здесь мы обсуждаем введение и различные примеры запросов на выборку в SQL с синтаксисом. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Присоединяется в Oracle
- Oracle Data Warehousing
- Agile Oracle
- Что такое база данных Oracle
- 6 лучших примеров запросов внутреннего объединения в Oracle
- Отличия первичного ключа от внешнего ключа