Задать вопрос

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

Допустим, есть таблица `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.
Так и так работает как надо. Так в чём разница и как лучше?
  • Вопрос задан
  • 2470 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Тестировщик на Python
    9 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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