Muxto
@Muxto

Как работает этот SQL запрос?

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

Пусть есть 3 таблицы, две связаны через одну.
table A ( id1, text1)
table B (id2, text2)
table C (id1, id2)

Сам запрос
select 
(select text1 from A where A.id1 = C.id1) as 'A',
(select text2 from B where B.id2= C.id2) as 'B'
from C;


Откуда подзапросы знают про таблицу C?
  • Вопрос задан
  • 2628 просмотров
Решения вопроса 1
svd71
@svd71
главным запросом является таблица С. именно количество записей в ней будет отображатся в выборке. а столбцы text1 и text2 вытаскиваются из вложенных запросов к таблицам В и А. а те в свою очередь будут брать значения для поиска из основного запроса, то есть из таблицы С.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Muxto
@Muxto Автор вопроса
По стандарту SQL-92
1. Выполняется FROM - формируется рабочая таблица
2. к этому результату применются предикаты предложения WHERE
3. GROUP By
4. HAVING
5. SELECT
6. ORDER BY (формально не входит в определение SELECT)

(C) Джо Селко. SQL для профессионалов. Програмирование.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы