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

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

Допустим, есть таблица `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.
Так и так работает как надо. Так в чём разница и как лучше?
  • Вопрос задан
  • 2472 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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