Оператор SELECT

SELECT <field….,*>, [CURSOR (SELECT….)], [(select….)] FROM <Table>, [partition….] [TABLE(….)]

WHERE <filter> group by <statement >

Запрос SELECT с него все начинается. Затем определяем список полей. Эти поля могу быть заменены на * – означает все поля запроса, при этом строки результирующего набора будут не упорядочены, не рекомендуется ее использовать. Так как с SELECT обычно сопоставляются какие-либо курсоры и если использовать *SELECT будет работать, но стоит изменить структуру таблицы и fail. Правильнее использовать сразу список полей. После можем использовать фразы CURSOR, в которых можно использовать другой SELECT. Кроме этого, можно дальше указать поле, состоящее из SELECT, его особенностью будет возврат одной строки, к примеру – посчитать какой-либо итог. Далее идет ключевое слово FROM, после которого указываем таблицы которые хотим использовать для запроса. Можем указать partition, те какую часть таблицы взять на рассмотрение. Есть особенность, можем использовать ключевое слово TABLE и вызвать к примеру хранимую процедуру. После может следовать фраза WHERE в которой указываются условия фильтрации. Затем идет группировка.

Пример 1 показывает извлечение данных из таблицы employees. Ей мы присвоили алиас “a”, и обращаемся к конкретному полю таблицы employees по алиасу. Каждому полю можем присвоить свой алиас – Пример 2, по сути просто присвоили имя полю только на время выполнения данного запроса, эти изменения не сохраняются в БД.

Имя поля можно предварять именем таблицы:

SELECT employees.employee_id, employees.first_name FROM employees

Для таблицы можно задать более удобный псевдоним:

SELECT emp.employee_id, emp.first_name FROM employees emp

  

Можем набор полей выводить. Также для полей можно применять функции. Встроенных функций огромное количество в Oracle.

 

Related Posts