MySQL 内部結合、左結合、右結合、外部結合、複数テーブルクエリビルド環境:テーブルt_emp(を作成する id int 主キー、 名前varchar(20), 部門ID int ); テーブル t_dept を作成します( id int 主キー、 名前varchar(20) ); t_dept(id, name) に値(1, 'デザイン部門') を挿入します。 t_dept(id, name) に値(2, '開発部門') を挿入します。 t_dept(id, name) に値(3, 'テスト部門') を挿入します。 t_emp(id, name, deptId) に値(1, '张三', 1) を挿入します。 t_emp(id, name, deptId) に値(2, 'Li Si', 2) を挿入します。 t_emp(id, name, deptId) に値(3, '王五', 0) を挿入します。 # ps: 便宜上、t_emp テーブルはテーブル A、t_dept テーブルはテーブル B と呼ばれます。 目次 1. 内部結合 (A ∩ B)SELECT * FROM t_emp e INNER JOIN t_dept d ON e.deptId = d.id; 2. LEFT JOIN 左外部結合(A all)SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id; 3. RIGHT JOIN 右外部結合 (B すべて)SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id; 4. FULL JOIN 完全外部結合 (A + B)SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id UNION SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id; 5. LEFT JOIN を除く (A - B、つまりテーブル A に固有) +SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id は null です。 6. 右結合を除く(B - A、つまりBテーブルのみ)SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id は null です。 7. OUTER 除外結合(A と B は互いに一意です)SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id WHERE d.id は null です 連合 SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id は null です。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux カーネルの copy_{to, from}_user() に関する考察
>>: CSSを使用してHTMLテキストボックス内のテキストの垂直方向の中央を制御する
序文開発プロセスでは、ブラウザレベルでユーザーが実行した操作を記憶するなど、同様の要件に遭遇すること...
プラットフォームの展開1. JDKをインストールするステップ1. OracleJDKをダウンロードす...
目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...
1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...
1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...
まず、ページ分割クエリを使用する理由を明確にする必要があります。データが膨大なため、すべてのデータを...
入力タグタイプがファイルで、タグ内にaccpet="image/*"属性が設定さ...
目次MySQL フェデレーテッド クエリ実行戦略。実行計画フェデレーテッドクエリオプティマイザーMy...
序文最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが...
1: 文字列を区切るためのストアドプロシージャを定義する 区切り文字 $$ `mess`$$ を使う...
必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...
序文フェイルオーバーが発生した後、よくある問題は同期エラーです。データベースが小さい場合は、ダンプし...
コードをコピーコードは次のとおりです。 <!--リストタグ: <dl>: 階層リス...
MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...
序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...