[解決済み] MySQLのJOINのデフォルトの動作はINNERとOUTERのどちらですか?
2022-11-12 14:44:29
質問
この1時間、私はインターネットを見て、この単純な質問に対する決定的な答えを探していました。
MySQLのデフォルトのJOINは何ですか?
SELECT * FROM t1 JOIN t2
と同じなのでしょうか?
SELECT * FROM t1, t2
OR
SELECT * FROM t1 INNER JOIN t2
また、関連する質問として、"WHERE" 節を使用する場合、それは JOIN または INNER JOIN と同じですか?
今現在、単体のJOINはカンマとWHERE句を使うのと同じだと考えています。
どのように解決するのですか?
MySQLの記述で
JOIN
は、修飾されていないため
INNER JOIN
. つまり
INNER
で
INNER JOIN
は省略可能です。
INNER
と
CROSS
は MySQL では同義語です。わかりやすくするために、私は
JOIN
または
INNER JOIN
という結合条件がある場合
CROSS JOIN
となります。
結合のために許される構文は のドキュメントにあります。 .
今現在、単体のJOINはカンマとWHERE句を使うこと(と同じ)以外の何物でもないと思っています。
効果は同じですが、その背後にある歴史が異なります。コンマの構文は ANSI-89 標準からのものです。しかし、この構文には多くの問題があるため、ANSI-92 標準では JOIN キーワードが導入されました。
私が強くお勧めするのは 常に はカンマではなくJOIN構文を使うことを強くお勧めします。
-
T1 JOIN T2 ON ...
よりも可読性が高いT1, T2 WHERE ...
. - テーブルの関係やフィルタが混在するのではなく、明確に定義されているため、保守性が高いです。
- JOIN構文は、カンマ構文よりもOUTER JOINに変換するのが簡単です。
- 同じステートメントでカンマと JOIN 構文を混在させると、優先順位の規則により不思議なエラーが発生することがあります。
- JOIN構文を使用する際に、結合句を忘れたために誤ってデカルト積を作成する可能性は低くなります。なぜなら、結合句は結合の隣に書かれており、1つが欠けていても簡単に確認できるからです。
関連
-
mysqlのデータ圧縮性能比較 詳細
-
[解決済み】ValueError: 値の長さがインデックスの長さと一致しない|Pandas DataFrame.unique()
-
群関数解の無効な使用
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
最新
-
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のLike演算子に関する詳細
-
MySQLインストールチュートリアル(Windows用)詳細
-
mysqlのデータ圧縮性能比較 詳細
-
MySQLインデックスベースストレステストの実装
-
MySQLインストールチュートリアル(Linux版
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
PostMan レポート エラー: 接続 ECONNREFUSED 127.0.0.1:port number
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] どのトランザクションが「テーブルメタデータのロック待ち」状態を引き起こしているかを確認するにはどうすればよいですか?
-
[解決済み] KEYキーワードは何を意味するのか?