MySQLのジョイントクエリについて詳しく説明します

MySQLのジョイントクエリについて詳しく説明します

ユニオンクエリ

Union は、2 つ以上の SELECT ステートメントによってクエリされたテーブルを結合し、テーブル内の重複行を排除できます。

選択ステートメントには、同じデータ型の同じ数の列が必要です。

1. 中国の各省のIDと名前を照会する

T_ProvinceからProID、ProNameを選択

2. 湖南省のすべての地級市のIDと名称

T_CityからCityID、CityNameを選択
ここで、ProID = (
    ProName="湖南省" の T_Province から ProID を選択します。
);

3. 結合して結合する

T_ProvinceからProID、ProNameを選択
連合
T_CityからCityID、CityNameを選択
ここで、ProID = (
    ProName="湖南省" の T_Province から ProID を選択します。
);

これにより、2 つのクエリ結果が結合されます。

UNION の結合セット内の列名は、常に UNION の最初の SELECT ステートメント内の列名と同じになります。

ユニオンクエリ ユニオンオール

T_ProvinceからProID、ProNameを選択
すべて結合
T_CityからCityID、CityNameを選択
ここで、ProID = (
    ProName="湖南省" の T_Province から ProID を選択します。
);

union all を使用する場合、重複行は削除されません。

結合クエリの内部結合

1.湖北省に地級市がいくつあるか確認する

ユニオンクエリは不要です:

T_Cityからcount(CityID)を選択します
ProID = (T_Province から ProID を選択し、ProName="湖北省")

ProIDを使用して2つのテーブルを結合する

ProName、CityNameから選択(
    T_City が T_Province に参加
    T_City.ProID = T_Province.ProID の場合
)
ProName="湖北省"

2.各省の県級市の数を数え、省名と県級市の数を出力する

T_City.ProID、ProName、count(CityID) を cc として選択します(
    T_City が T_Province に参加
    T_City.ProID = T_Province.ProID の場合
)
T_City.ProID によるグループ化
cc 降順で並べ替え;

選択ステートメントで出力される ProID は、T_City または T_Province のいずれかである必要があります。それ以外の場合はエラーが報告されます。

2 つのテーブルを結合するには、共通の「言語」が必要です (列名は必ずしも同じである必要はありません)。

テーブルに別名を付けることができます。T_City テーブルの別名を tc に設定し、T_Province の別名を tp に設定します。

tc.ProID、ProName、count(CityID) を cc として選択します(
    T_City tc 参加 T_Province tp
    T_City.ProID = T_Province.ProID の場合
)
tc.ProID によるグループ化
cc 降順で並べ替え;

3. 20以上の地区と郡を持つ都市を検索し、都市名と地区と郡の数を出力する

CityName、count(DisName)、disCount を ( から選択
    T_City tc 参加 T_District td
    tc.CityID = td.CityID の場合
)
CityName でグループ化
disCount > 20 である;

3 つのテーブルの結合クエリ

1. 最も多くの地区と郡を持つ上位 3 つの都市はどの州のどの都市ですか? クエリ結果には、州名、都市名、地区と郡の数が含まれます。

tp.ProName、tcd.CityName、tcd.ciを選択します
(
ProID、CityName、count(ID) ci を (T_City tc を T_District td に結合し、tc.CityID = td.CityID) から選択します。 
 
   tc.CityID でグループ化
ci 降順で並べ替え
制限3
)tcd
T_Province tp を tcd.ProID = tp.ProID に参加させます。

結合クエリの左結合と右結合

内部結合は、左側のテーブルと右側のテーブルの共通部分に基づいています。

左結合は、左テーブルと右テーブルの共通部分と、左テーブルの固有部分に基づいています。

右結合は、左テーブルと右テーブルの共通部分と右テーブルの固有部分に基づきます。

すべての州とその都市の情報を検索する

から*を選択(
T_Province tp 参加 T_City tc
tp.ProID = tc.ProID の場合
);

すべての州とその都市、および都市のない州を照会します

から*を選択(
T_Province tp 左結合 T_City tc
tp.ProID = tc.ProID の場合
);

すべての州とその都市情報、および州を除いた都市情報を照会します。

から*を選択(
T_Province tp 右結合 T_City tc
tp.ProID = tc.ProID の場合
);

要約する

これで、MySQL ジョイント クエリに関するこの記事は終了です。MySQL ジョイント クエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL初心者はグループ化や集計クエリの煩わしさから解放されます
  • MySQLの共同クエリ最適化メカニズムの詳細な説明
  • MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明
  • MySQL マルチテーブル共同クエリ操作例の分析
  • MySQL データベースの集計クエリと結合クエリ操作

<<:  Vue で debouce の手ぶれ補正機能を使用する方法

>>:  HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

推薦する

Web ページでパラメータ名によって ActiveX コントロールのプロパティに値を割り当てる例

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

Vue.jsでタブ切り替えと色変更操作を実装する解説

この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...

Vueは携帯電話のカメラとアルバムを呼び出す機能を実装します

この記事では、携帯電話のカメラとアルバムにアクセスするためのVueの具体的なコードを参考までに共有し...

MySQL セキュリティ管理の詳細

目次1. 順番に紹介する2. ユーザーを作成する3. ユーザーアカウントを削除する4. アクセス権5...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...

HTML における li タグの水平配置の例

ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...

Linux で MySQL データベースのデータ ファイル パスを変更する手順

rpm インストール方法を使用して MySQL データベースをインストールした後、データ ファイルの...

jsを使用して中国語からピンインへの変換の完全な手順を実行します

jsを使用して、中国語をピンインに変換するパッケージを作成しました。倉庫のアドレスはpinyin-p...

HTML メタの説明

導入メタタグは、HTML言語のHEAD領域にある補助タグです。 meta は、ページの説明、キーワー...

フォームから Vue ElementUI を使用してログイン効果を実装する例

目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...

alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装

1.アルパインイメージをダウンロードする [root@DockerBrian ~]# docker ...

Dockerでnginxを実行し、ローカルディレクトリをイメージにマウントする方法

1 hupからイメージを取得する docker プル nginx 2 マウントするディレクトリを作成...

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...