ホームページ >データベース >mysql チュートリアル >EXISTS (SELECT * ) または EXISTS (SELECT 1): どちらのサブクエリ構文が可読性を向上させますか?
読みやすさを向上させる EXISTS サブクエリ構文はどれですか?
EXISTS 演算子を使用してサブクエリを作成する場合、どの構文が読みやすいかという問題が生じます。パフォーマンスには影響しませんが、EXISTS (SELECT *) と EXISTS (SELECT 1) のどちらを選択するかを検討する必要があります。
さまざまな RDBMS のドキュメントでは、EXISTS (SELECT *) を優先することが示唆されています。ただし、一部のユーザーは、「少なくとも 1 つが存在する場合」という概念を明示的に伝えるため、EXISTS (SELECT 1) の方が直感的であると感じています。
EXISTS (SELECT *) を支持する 1 つの議論は、その簡潔さです。特定の値 1 を省略することで、サブクエリに任意の値が存在していれば十分であるという事実が強調されます。この見解は、ANSI 標準ではサブクエリ内の選択が指定されておらず、どの値を返すかはデータベース エンジンに任せているという事実によって裏付けられています。
一方、EXISTS (SELECT) の支持者は、 1) 潜在的な混乱を避けることができると主張します。値 1 を明示的に指定することで、サブクエリが何をチェックしているのかについてのあいまいさがなくなります。また、値 1 が「true」または「present」を表す一般的なコーディング手法とも一致しています。
最終的に、これら 2 つの構文のどちらを選択するかは個人の好みの問題です。どちらも同様に有効で、同じ機能を提供します。ただし、基礎となるセミ結合操作と簡潔な構文の潜在的な利点を理解することで、開発者は、どのアプローチが特定のコンテキストでの可読性を向上させるかについて情報に基づいた決定を下すことができます。
以上がEXISTS (SELECT * ) または EXISTS (SELECT 1): どちらのサブクエリ構文が可読性を向上させますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。