ホームページ > データベース > mysql チュートリアル > EXISTS サブクエリ: SELECT * または SELECT 1 – どちらが読みやすいですか?

EXISTS サブクエリ: SELECT * または SELECT 1 – どちらが読みやすいですか?

Patricia Arquette
リリース: 2024-12-29 16:04:12
オリジナル
959 人が閲覧しました

EXISTS Subqueries: SELECT * or SELECT 1 – Which is More Readable?

EXISTS サブクエリの可読性

EXISTS サブクエリを使用する場合、主に 2 つのオプションがあります。

SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id);
SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);
ログイン後にコピー

パフォーマンスの観点からは、どちらも同等です。しかし、読みやすさに関して疑問が生じます。

マニュアルと一般的な使用法

さまざまな RDBMS マニュアルやオンライン検索で実施された調査によると、意見が分かれているようです。

  • Microsoft SQL、Oracle、MySQL では SELECT * が優先されます。例。
  • PostgreSQL は SELECT 1 を好みます。
  • SQLite は明示的な例を提供しません。

スタック オーバーフローの検索結果は、SELECT * の普及率がわずかに高いことを示しています。コード。

直感的アプローチ

SELECT * の方が直感的かどうかという疑問が生じます。ただし、その答えは、それが最も直感的な選択ではないことを示唆しています。代わりに、SELECT 1 が推奨されます。次の理由からです。

  • 存在条件を明示的に示します。
  • サブクエリによって返される特定の行が無関係であることを指定する ANSI 標準に準拠しています。
  • SELECT 1 が存在へのショートカットであるという通説の誤りを暴きます。

結論

明確な合意はありませんが、EXISTS サブクエリの SELECT 1 はより直感的であると主張されています。存在の側面を強調し、標準に準拠し、誤解を払拭します。最終的に、読みやすさの好みは開発者の理解とスタイルによって変わる可能性があります。

以上がEXISTS サブクエリ: SELECT * または SELECT 1 – どちらが読みやすいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート