EXISTS クエリのサブクエリの可読性
EXISTS クエリでどのサブクエリ構文がより読みやすいかという問題は、理解と理解への影響によりよく発生します。コードの明瞭さ。 2 つの一般的なアプローチのパフォーマンスに大きな違いはありませんが、最適なオプションを選択すると、可読性が向上し、メンテナンスが簡素化されます。
当初、データベースは構文「EXISTS (SELECT * FROM baz WHERE baz.id)」を使用することが好まれていました。 = bar.id)」をドキュメントに記載しています。しかし、時間が経つにつれて、業界はより単純な形式「EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id)」に引き寄せられるようになりました。
「SELECT 」を使用するための直感的な議論は次のとおりです。これは、サブクエリ内の任意の* レコードの存在を検索することを意味します。ただし、これはいくつかの誤解を招きます。業界の推奨事項に記載されているように、サブクエリ レコードの内容ではなく、存在に重点を置く必要があります。
構文 "EXISTS (SELECT 1 ..)" により、サブクエリによって 1 つのレコードのみが返されることが保証されます。 。これは、指定された結合条件内のレコードの有無をチェックする半結合としての EXISTS の定義と一致しています。
したがって、より直観的で業界標準のアプローチであることが推奨されます。 EXISTS (SELECT 1 ..)」は、不必要な複雑さや混乱を招くのではなく、存在の決定に焦点を当てやすくするためです。
以上がEXISTS クエリ: SELECT * または SELECT 1 – どちらのサブクエリ構文が読みやすいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。