Следующая статья: JOIN предложение
Каждое предложение инструкции SELECT имеет свою область применения. Поэтому можно говорить отдельно о предложении FROM, предложении WHERE, предложении GROUP BY и так далее. Дополнительную информацию и примеры инструкций SELECT вы можете найти в разделах, посвященных каждому из предложений инструкции. Однако не в каждом запросе нужно использовать каждое предложение. Минимально необходимыми в запросе являются список отбираемых элементов и предложение FROM. Поскольку предложение SELECT является очень важным и имеет много опций, мы разделили раздел «Общие правила» на следующие подразделы.
Псевдонимы и соединения с использованием предложения WHERE.
- Предложение JOIN.
- Предложение WHERE.
- Предложение GROUP BY.
- Предложение HAVING.
- Предложение ORDER BY.
Псевдонимы и соединения с использованием предложения WHERE
Перед именем столбца может потребоваться указать префикс в виде имени базы данных, схемы и имени таблицы, поскольку столбцы с одним именем могут присутствовать в разных таблицах, на которые ссылается запрос. В следующем примере (для базы данных Oracle) таблица jobs и таблица employee схемы scott содержат столбец job_id. Обратите внимание, что в этих примерах таблицы employee и jobs соединяются при помощи предложения WHERE.
SELECT scott.employee.emp_id,
scott.employee.fname,
scott.employee, lname,
jobs, job_desc FROM scott.employee,
jobs
WHERE scott.employee.job_id = jobs.job_id ORDER BY scott.employee.fname, scott employee.Inane
Используя псевдонимы, вы можете написать такой запрос быстрее и проще.
SELECT e.emp_id, е.fname,
e.lname,
j.job_desc FROM scott.employee AS e,
jobs AS j WHERE e.job_id = j.job_id ORDER BY e.fname,
e.lname
Эти два запроса также иллюстрируют некоторые важные правила, касающиеся соединений, выполняемых при помощи предложений WHERE.
- Используйте запятые для разделения элементов в списке_отбираемых_элементов, элементов в предложении FROM и элементов в выражении_для_сортировки.
- Используйте предложения AS для определения псевдонимов.
- Определив псевдонимы, используйте их постоянно, по всей инструкции SELECT.
Вообще говоря, при описании соединений вам следует отдавать предпочтение предложению JOIN (о котором мы сейчас поговорим), а не предложению WHERE. Это не только сделает ваш код более понятным и позволит легко отличать условия соединения от условий поиска, но также устранит саму возможность создания трудно понимаемых на интуитивном уровне условий при использовании в некоторых реализациях предложения WHERE для внешних соединений.
Видео: «Отношения заказчик-исполнитель в виде бытовых сценок»
Видео бытовых сценок об отношениях заказчик - исполнитель



