SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.07.2010 11:11:09

cyklop77
Участник
Зарегистрирован: 17.05.2010
Сообщений: 8

подзапрос до фразы FROM. требуется теория

И опять прошу пинок в нужном направлении, так как просто не представляю по каким словам гуглить.

дело вот в чем. недавно пришлось столкнуться примерно с таким видом t-sql запроса(привожу не полностью):


        SELECT     dt,
        (SELECT     dbo.Concatenate(data + '/') AS Expr1
        FROM          dbo.TreeObject(sub.id_object) AS TreeObject_1) AS obj,
        CASE WHEN sub.cntstage = 1 THEN sub.id_request ELSE 0 END AS fl
        FROM         (SELECT     DATEPART(mm, r.start_time) AS dt, r.id_object,
        (SELECT     COUNT(*) AS Expr1
        FROM          stage AS s
........................................
...........................
 


примечательно в нем то, что подзапрос (второй селект например)  расположен ДО фразы FROM. я с трудом понимаю такую конструкцию(точнее совсем не понимаю), хотелось бы почитать теорию(и желательно на русском). как искать её не представляю, подскажите пожалуйста.

такие конструкции возможно только в t-sql или в стандартной ansi версии тоже?

ps
и вообще хотелось бы наити теорию того КАК читать подзапросы. то есть не что они из себя представляют, а как с ними удобнее обращаться что ли... порядок деиствий...

Отредактированно cyklop77 (24.07.2010 11:12:33)

Неактивен

 

#2 24.07.2010 11:56:36

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: подзапрос до фразы FROM. требуется теория

1. Прочтите FAQ#11. Он не имеет непосредственного отношения к
ответу, но сильно влияет на него.

2. Подзапросы есть практически во всех СУБД. Смысл простой — в
обычном запросе Вы можете написать вместо названия колонки,
вместо имени таблицы другой запрос в скобках. При этом будет счи-
таться, что такой элемент реально есть и его значение совпадает с
тем, что выдает выполнение этого подзапроса.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson