複数テーブル結合の基本構文マルチテーブル接続とは、複数のテーブルを1つのテーブルに結合してクエリを実行することです。 フィールド1、フィールド2、...を選択します。 テーブル1から{inner|lift|right}テーブル2を結合 接続条件について 部門テーブルと従業員テーブルの2つのテーブルがあります。 クロス結合と直積現象クロスコネクトクロス結合(無条件内部結合/カルテシアン結合とも呼ばれる) 最初のテーブルの各項目は、他のテーブルの各項目と順番に結合されます。 従業員、部門から*を選択します。 上記の結果は、明らかに私たちが知りたいことではありません。左のテーブルの各人には 4 つの部門があります。これらの 4 つのレコードを注意深く見ると、左のテーブルの各レコードを右のテーブルと 1 つずつ照合した結果とまったく同じです。 デカルト積現象デカルト積現象の原因: 2 つのテーブル間に有効な接続条件がありません。結合条件がないので、このテーブルの最初の行は、他のテーブルのすべての行と確実に 1 対 1 で一致させることができます。同様に、このテーブルの 2 番目の行は、他のテーブルのすべての行と確実に 1 対 1 で一致させることができます。同様に、このテーブルの最後の行 m も、他のテーブルのすべての行と 1 対 1 で一致させることができます。他のテーブルに n 行ある場合、最後に表示される行数は m*n 行になります。 デカルト積現象を発生させたくない場合は、有効なテーブル結合条件を追加する必要があります。上記の例では、左側のテーブル dep_id は、右側のテーブル id と等しい場合にのみ、その部門を表します。 内部結合INNER JOIN は、複数のテーブルの交差部分を見つけること、つまり条件に基づいて正しい結果をフィルタリングすることです。 emp.id、emp.name、emp.age、emp.dep_id、emp.gender、dep.id、dep.name を選択してください 従業員をempとしてINNER JOINし、部門をdepとしてINNER JOINする emp.dep_id=dep.id の場合; department テーブルには 外部結合左外部結合左結合は左テーブルに基づいています。右テーブルに適切なレコードがない場合、 emp.id、emp.name、emp.age、emp.dep_id、emp.gender、dep.id、dep.name を選択してください 従業員が emp として退職し、部門が dep として参加 emp.dep_id=dep.id の場合; 右外部結合左結合の反対で、右結合は右テーブルに基づいています。左テーブルの一部のフィールドに適切な結果がない場合、 emp.id、emp.name、emp.age、emp.dep_id、emp.gender、dep.id、dep.name を選択してください 従業員から emp として右結合部門から dep として emp.dep_id=dep.id の場合; 完全外部結合内部結合に基づく完全外部結合では、左側のテーブルと右側のテーブルのすべてのレコードが表示され、左側のテーブルと右側のテーブルのデフォルト レコードは MySQL には完全外部結合用の emp.id、emp.name、emp.age、emp.dep_id、emp.gender、dep.id、dep.name を選択してください 従業員が emp として退職し、部門が dep として参加 emp.dep_id=dep.id で 連合 emp.id、emp.name、emp.age、emp.dep_id、emp.gender、dep.id、dep.name を選択してください 従業員から emp として右結合部門から dep として emp.dep_id=dep.id の場合; サブクエリ
サブクエリには -- 平均年齢が20歳以上の部門名を検索する 部門から idが( dep_idを選択 従業員から dep_id でグループ化 平均年齢が20歳を超える -- 財務部門の従業員の名前を照会する名前を選択 従業員から dep_idが( IDを選択 部門から where name='財務部'); -- 平均年齢より上のすべての従業員の年齢と名前を照会します。select name,age 従業員から 年齢 > ( 従業員から平均年齢を選択します。 これで、MySQL の結合クエリとサブクエリの問題に関するこの記事は終了です。MySQL の結合クエリとサブクエリに関するより関連性の高い情報については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 丸い角や鋭い角を表現するために、絵の代わりに文字を使用する研究
目次タイプ判定から始める厳格な平等エラーファーストと約束デバッグと出力タイプ判定から始めるJavaS...
目次序文事例: JD.com の虫眼鏡効果の模倣オフセットシリーズクライアントシリーズスクロールシリ...
目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...
この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。必要:...
<a href="" onclick=""> を...
目次ブラウザのレンダリングメカニズムリフローと再塗装リフロー逆流を引き起こす行為:再描画再描画を引き...
凡例コンポーネントは、ECharts でよく使用されるコンポーネントです。シリーズ マーカーの名前を...
この記事では、スライドタブを実装するためのjQueryの具体的なコードを参考までに紹介します。具体的...
この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...
データベースでcreate tableステートメントを実行する テーブル `sys_acl` を作成...
1. 要件の説明特定の要素については、背景background-imageを半透明にしたいが、テキス...
Vue2+elementui のホバー プロンプトは、外部と内部に分かれています。内部のものは el...
目次導入実装手順キャンバス環境を作成するライティングボールBallクラスを継承するMoveBallク...
この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...
この記事では、MySQL 8.0.11圧縮版のインストールチュートリアルを参考までに紹介します。具体...