Чем отличаются запросы?

Допустим, есть таблица `album` с полями: `album_id`, `album_name`
Вторая таблица `song` с полями `song_id`, `song_name`
Третья таблица `song_album` с внешними ключами содержит поля `album_id` и `song_id` из двух таблицы. Нормализация один ко многим.

А вот в чём разница запросов (этот пример я видел на каком-то сайте), допустим, я получаю список песен к альбомам:
SELECT `song`.`song_id`, `song`.`song_name` FROM `album`, `song_album` WHERE `song_album`.`album_id` = '$id' AND `song`.`song_id` = `song_album`.`song_id`;

Но то же можно было сделать с применением Join.
Так и так работает как надо. Так в чём разница и как лучше?
  • Вопрос задан
  • 2468 просмотров
Решения вопроса 1
rdev
@rdev
SELECT `song`.`song_id`, `song`.`song_name` FROM `album`, `song_album` WHERE `song_album`.`album_id` = '$id' AND `song`.`song_id` = `song_album`.`song_id`;

этот запрос не правильный.
используется таблица song но song не упомянули в FROM
но даже если упомянуть то при большом количестве данных запрос будет работать долго

лучше использовать join
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы