EXISTS サブクエリの読みやすさ: 比較
この記事の目的は、内部で SELECT * を使用する場合と SELECT 1 を使用する場合の読みやすさの違いを調査することです。 EXISTS サブクエリ。どちらの構文にもパフォーマンス上の利点はありませんが、これらを使用するとクエリのわかりやすさに影響を与える可能性があります。
SELECT * と SELECT 1
で使用される最も一般的な構文EXISTS サブクエリは SELECT であり、これは商業分野での SELECT クエリの人気によって証明されています。 RDBMS および SO コード検索。ただし、少なくとも 1 つの行の存在をチェックする意図を明示的に示しているため、SELECT 1 の方が直感的であると主張する人もいます。
直感的な解釈
SELECT * 構文は、サブクエリの内容が無関係であることを意味します。唯一の焦点は、サブクエリ テーブル内の行の存在です。対照的に、SELECT 1 は条件の真実性を直接チェックするため、条件がより明示的になり、理解しやすくなる可能性があります。
ANSI 規格
ANSI SQL 規格では、次のように規定されています。 EXISTS サブクエリ内の SELECT * と SELECT 1 の選択は無関係です。これは、使用される構文に関係なく、クエリのパフォーマンスと機能が同じであるという事実を裏付けています。
代替観点
読みやすさを超えて、次のことを認識することが重要です。 EXISTS は準結合操作です。サブクエリから実際の行を返すのではなく、結合条件を満たす行が存在するかどうかを示すだけです。この理解により、クエリの動作の理解が深まります。
以上がEXISTS サブクエリの SELECT * と SELECT 1: どちらが読みやすいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。