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

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

Допустим, есть таблица `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 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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