ホームページ  >  記事  >  データベース  >  mysqlのマルチテーブルジョイントクエリステートメントとは何ですか

mysqlのマルチテーブルジョイントクエリステートメントとは何ですか

coldplay.xixi
coldplay.xixiオリジナル
2020-09-03 14:01:2511449ブラウズ

mysql のマルチテーブル ユニオン クエリ ステートメントは次のとおりです: [select ステートメント 1 Union [union オプション] select ステートメント 2 Union [union オプション] select ステートメント n]。複数テーブルの結合クエリ結果は、複数の select ステートメントのクエリ結果を結合します。

mysqlのマルチテーブルジョイントクエリステートメントとは何ですか

【関連する学習の推奨事項: mysql チュートリアル(ビデオ)】

MySQL 複数テーブルの結合クエリ ステートメントは次のとおりです:

結合クエリの結果は、複数の select ステートメントのクエリ結果を結合します。

結合には、union および Union all キーワードを使用できます。

基本構文:

select ステートメント 1

union [union オプション]

select ステートメント 2

union [union [オプション]

select ステートメント n

union オプションには 2 つのオプションがあります: all (重複も出力されることを示します)、distinct (重複を削除、完全に重複、デフォルトで削除されます) Heavy)

2 つのテーブルのフィールドは一貫している可能性があります。

例:
select id,addrid 
from addr 
union all 
select id,addrid 
from student

結合クエリの意味

1. 同じテーブルを、異なる要件でクエリします

2. 複数のテーブル クエリ: の構造複数のテーブル まったく同じ、保存されたデータ (構造) も同じです

共同クエリでの order by の使用

共同クエリでは、order by は最後のテーブルでのみ使用できます。クエリ ステートメントには括弧を使用する必要があります。

例:
---(错误)
select * from student where sex="man" order by score
union
select * from student wherre sex="woman" order by score;
这种情况会报错,因为一个句子中不能有两个order by
---(正确但不符合所需)
select * from student where sex="man" 
union
select * from student wherre sex="woman" order by score;
这种情况是正确的,但是合并又没有意义,他会把之前的sex分好的情况给打乱
---(正确)
(select * from student where sex="man" order by score 
limit 10)
union
(select * from student wherre sex="woman" order by score
limit 10);
在子语句中使用order by,由于优先级的问题,需要将整个子句用()括起来,且必须和limit结合使用,否则不会生效。

プログラミングについてさらに詳しく知りたい場合は、php training 列に注目してください。

以上がmysqlのマルチテーブルジョイントクエリステートメントとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。