SQL クエリにおけるカンマ表記と ANSI-JOIN 構文の違いは何ですか?
Users と Posts という 2 つのテーブルについて考えてみましょう。ここで user_id はは Posts の外部キー、Users の主キーです。次の SQL クエリは、これらのテーブルを結合して、ユーザーの名前と投稿のタイトルを取得します。
-- Comma Notation select user.name, post.title from users as user, posts as post where post.user_id = user.user_id; -- ANSI-JOIN Syntax select user.name, post.title from users as user join posts as post using user_id;
構文の違い
これらのクエリの主な違いは、構文にあります。コンマ表記法 (古いアプローチ) では、カンマを使用してテーブル名を区切りますが、ANSI-JOIN 構文では、JOIN キーワードに続いて ON または USING を使用して結合条件を指定します。
意味の違い
カンマ表記法:
ANSI-JOIN 構文:
実際的な違い
これらの特定のクエリでは、2 つのアプローチは同じ結果をもたらします。ただし、他の JOIN タイプ (OUTER JOIN など) を使用する場合は、明確で曖昧さのない ANSI-JOIN 構文が推奨されます。
MySQL に関する追加メモ
MySQL では、カンマ表記は STRAIGHT_JOIN キーワードと若干異なります。ただし、結合操作でこの小さな違いに依存することはお勧めできません。
以上がSQL クエリにおけるカンマ表記と ANSI-JOIN 構文はどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。