[解決済み] USINGキーワード vs ON句 - MYSQL [重複].
質問
重複の可能性があります。
MySQL ON vs USING?
クエリ1
SELECT *
FROM users
JOIN orders ON (orders.user_id = users.user_id)
WHERE users.user_id = 1;
クエリ2
SELECT *
FROM users
JOIN orders USING (user_id)
WHERE user_id = 1;
受注テーブルとユーザーテーブルを結合して、あるデータを取得したいと思います。それはうまく動作します。私の問題は、両方のクエリが同じ結果セットを出力するため、それは同じですか?どちらがより効率的に使用できますか?どちらがパフォーマンス的に良いですか?どちらがベストプラクティスなのでしょうか?
解決方法は?
その
USING
の節は、特に言及する必要のないものです。
JOIN
複数のテーブルからデータを取得する場合の条件です。複数のテーブルからデータを取得するときに
USING
節は、その特定のカラム名が両方のテーブルに存在する必要があり、また
SELECT
クエリは、自動的に
USING
節があります。
例えば、テーブル内に2つの共通カラム名がある場合、目的の共通カラム名を
USING
節があります。
USING
は、ダイナミック SQL の実行時にも、次のように使用します。
EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num'
USING dept_id;
-
は
USING
節があります。これにより、ジョインキーを名前で指定することができます。 -
は
ON
節があります。この構文では、両方のテーブルで結合キーのカラム名を指定することができます。
USING節
その
USING
節は、いくつかのカラムが同じ名前を共有しているが、これらの共通カラムをすべて使って結合したくない場合に使用します。USING句に列挙された列は、WHERE句を含むステートメント内でいかなる修飾子も持つことはできません。
ON節
は
ON
句は、両方のテーブルでカラム名が一致しないテーブルを結合するために使用されます。結合条件は、WHERE句のフィルター条件から取り除かれる。
関連
-
[解決済み】1052:フィールドリストの列「id」が曖昧である
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] MySQL - SELECTクエリに基づくUPDATEクエリ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MySQLユーザーDBにパスワードカラムがない - OSXへのMySQLインストール
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み】MySQL エラー #1133 - ユーザー テーブルに一致する行が見つかりません。
-
[解決済み] MySQL エラー: キーの長さがないキー指定
-
[解決済み] MySQLで週単位でグループ化する方法は?
-
[解決済み] テーブル 'performance_schema.session_variables' は存在しません。
-
[解決済み] WHEREで集計関数は使用できません "というエラーを回避する方法
-
[解決済み] この操作を行うには、少なくとも1つのSUPER権限が必要です。
-
[解決済み] SQL エラー - テーブルの定義が正しくありません; auto カラムは 1 つしか存在できません。
-
[解決済み】MySQL JOIN ON vs USING?