Язык структурированных запросов (SQL) – это набор операторов, с помощью которых все программы и пользователи получают доступ к данным в базе данных Oracle. Прикладные программы и инструменты Oracle часто предоставляют пользователям доступ к базе данных без непосредственного использования SQL, но эти приложения, в свою очередь, должны использовать SQL при выполнении запроса пользователя.
Сильные стороны SQL обеспечивают преимущества для всех типов пользователей, включая программистов приложений, администраторов баз данных, менеджеров и конечных пользователей. Технически говоря, SQL является подъязыком данных. Целью SQL является предоставление интерфейса к реляционной базе данных, такой как Oracle Database, и все операторы SQL являются инструкциями для базы данных. Этим SQL отличается от языков программирования общего назначения, таких как C и BASIC.
SQL позволяет работать с данными на логическом уровне. Вам нужно заботиться о деталях реализации только тогда, когда вы хотите управлять данными. Например, чтобы извлечь набор строк из таблицы, вы определяете условие, используемое для фильтрации строк. Все строки, удовлетворяющие условию, извлекаются за один шаг и могут быть переданы как единое целое пользователю, другому оператору SQL или приложению. Вам не нужно иметь дело со строками одна за другой, и вам не нужно беспокоиться о том, как они физически хранятся или извлекаются. Все операторы SQL используют оптимизатор, часть базы данных Oracle, которая определяет наиболее эффективные средства доступа к указанным данным. Oracle также предоставляет методы, которые вы можете использовать, чтобы оптимизатор выполнял свою работу лучше.
SELECT
Используйте оператор SELECT или подзапрос для извлечения данных из одной или нескольких таблиц, таблиц объектов, представлений, представлений объектов или материализованных представлений.
Если часть или весь результат оператора SELECT эквивалентен существующему материализованному представлению, то Oracle Database может использовать материализованное представление вместо одной или нескольких таблиц, указанных в операторе SELECT. Эта замена называется перезаписью запроса. Это происходит только в том случае, если включена оптимизация затрат, а для параметра QUERY_REWRITE_ENABLED установлено значение TRUE.
Чтобы определить, произошла ли запись запроса, используйте оператор EXPLAIN PLAN.