私は以下の表を持っています。私はm.genre_idを必要としないので、テーブルの初期名を定義せずにクエリを実行する方法は?
genre:
genre_id
name
actors:
actor_id
name
movies:
movie_id
actor_id
genre_id
title
私はgenre_id 3.
select a.name, m.genre_id from
actors as a
, movies as m
where
m.genre_id = 3;
持つすべての俳優を選択するには、クエリを次しているが、「Mとして映画」なくてクエリを作成することが可能です。私は俳優の名前を表示したいだけです。
存在する(から1を選択します...でもうまくいくでしょうし、おそらくは 'in'を実行しないために速くなるでしょう – Kieveli
あなたも正しいでしょうが、パフォーマンスの違いについてはわかりません。 – northpole
私はDBAに話しただけで、彼は一般言い換えれば、サブクエリが複数の行(大きなデータセット)を返す場合、EXISTSはほぼ常に高速です。あなたがサブクエリで1つ(またはごくわずか)の行を返す場合は、INが行く方法です.... nice catch Kieveli – northpole