私はクエリを記述するさまざまな方法を探していた、と私はあなたのすべては、以下のオプションで行くには良い方法だと思いますどの方法思ったんだけど:リンクされたテーブルまたはサブクエリ?
SELECT a.salary
FROM emp a
JOIN emp b ON a.salary < b.salary
WHERE b.id = 200
または
SELECT salary
FROM emp
WHERE salary < (SELECT salary
FROM emp
WHERE id = 200)
私はテーブルの中で約300のレコードでいくつかの実行時間を行い、それらはほぼ同じように出てくるので、これは本当に好みと受け入れられた標準についてのことです。私は個人的に第2の方法がより好きです(私に読んでほしい)。私は第一が標準だと感じている。あなたはどう思いますか?
どのデータベースについてですか? –
http://www.eggheadcafe.com/software/aspnet/32705705/join-vs-subquery.aspx –
実行計画を確認し、最適なものを使用するクエリを選択する必要があります。 RDMSに依存して、これらのクエリは同じプランを生成する場合と生成しない場合があります。また、 'EXIST'または' NOT EXIST'を使うようにクエリを書き直し、実行計画もチェックすることができます。 – a1ex07