Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   SQL запрос. Как делать SELECT с условием SELECT (https://javascript.ru/forum/server/39734-sql-zapros-kak-delat-select-s-usloviem-select.html)

ksa 12.07.2013 11:41

Цитата:

Сообщение от bes
насколько мне известно, более-менее серьёзные субд (такие как от oracle) используют различные внутренние оптимизации для ускорения получения результатов запроса

И опять не понятно...
Т.е. декартовы квадраты, кубы и пр. они оптимизировали... А про соединения наверное забыли и они там работают медленнее? :blink:

ksa 12.07.2013 11:43

В любом случае автор может рассказать как отработали наши примеры и выбрать более оптимальный по скорости...

bes 12.07.2013 18:18

Цитата:

Сообщение от ksa
Это лишь твое мнение и не более того... :D

"значимый" аргумент

Цитата:

Сообщение от ksa
Автор использовал мой запрос - лишних записей там нетю :D

в принципе нет смысла в таблице соответствий не ставить соответствий

Цитата:

Сообщение от ksa
Автор использовал мой запрос - лишних записей там нетю :D

так вот в чём причина твоих хи-хи, а я уж было начал подумывать, что у тебя традиция курнуть с утра вместо завтрака :D

Цитата:

Сообщение от ksa
В любом случае автор может рассказать как отработали наши примеры и выбрать более оптимальный по скорости...

вот это по делу

Duda.Ml1986@gmail.com 13.07.2013 14:47

Цитата:

Сообщение от ksa (Сообщение 261880)
В любом случае автор может рассказать как отработали наши примеры и выбрать более оптимальный по скорости...

Код:

select
    *
from
    user_books as ub
    left join books as b on b.id=ub.id_book
where
    ub.id_user=76

0,0018 sec.


Код:

SELECT *
FROM books, user_books
WHERE books.id = user_books.id_book AND user_books.id_user = 76

0.0019 sec.

ksa 15.07.2013 11:04

Цитата:

Сообщение от Duda.Ml1986@gmail.com
0,0018 sec.

Цитата:

Сообщение от Duda.Ml1986@gmail.
0.0019 sec.

Не особо большая разница...

Цитата:

Сообщение от bes
а я уж было начал подумывать, что у тебя традиция курнуть с утра вместо завтрака

Могу только повториться...
Цитата:

Сообщение от ksa
Это лишь твое мнение и не более того...


Veterinar 11.01.2014 23:13

В T-SQL или PL-SQL есть совпадение с неоднозначной выборкой. Может и MySQL так сработает:
SELECT * FROM books
WHERE id in (
SELECT id_books FROM user_books WHERE id_user=(
SELECT id_user FROM users WHERE user_name=$_SESSION[''Name'])
)

kostyanet 13.01.2014 16:09

Вариант без join это join по-ораклу. С декартами они там сами разбираются, нас это николебет. Вариант с join - соответственно ANSI.

В трех таблицах запутаться невозможно по определению. Но вот что интересно. ТС не знает как составить запрос для трех отношений, но уже научился блатным аккордам, в смысле псевдонимам без идентификаторов.


Часовой пояс GMT +3, время: 23:15.