SELECT句の条件として、別のテーブルから引いてくるような形でEXISTSを使うことも多いかと思います。そこで、
lang
1SELECT * FROM table_1 WHERE EXISTS(SELECT ??? FROM table_2 WHERE ...)
というような形とした時に、???には何を書いていますか?
- 具体的な処理をSQLエンジン側に任せる、*
- 「どの列もいらない」ということを明示して、1(もしくは何かしらの定数)
- インデックス使用へと誘導するように、特定の列を入れる
自分としては、「ここでは1行あるかどうか以上の情報はいらない」という意味を込めて、SELECT 1と書いています。