複数のテーブルクエリ

1. 3つの表によると

第二に、ステートメント

-最年少の学生の情報を照会します(最初にすべての情報を年齢で並べ替え、次に最初の値を最小で柔軟なアプリケーションにします)
-select *学生から年齢制限順に並べ替えます1

-デカルト積= 2つのテーブルの数を掛ける

-SELECT * FROMコース、スコアWHEREコース.courseNo = scores.courseNo
-SELECT * FROMコースとしてa、スコアとしてc WHERE a.courseNo = c.courseNo


- 学生情報と学生のスコアのクエリ(2つのテーブルが接続されている)-SELECT * FROM学生、スコアWHERE students.studentNo = score.studentNo
-SELECT a.name、c。学生aからのスコア、スコアc WHERE a。 studentNo = c.studentNo

-2 つのテーブル内の学生情報と学生スコアの接続の  
クエリ-構文:select * FROM table 1 INNER JOIN table 2 on on the conditions of the two table connection
-SELECT stu.name、sco.score FROM student stu INNER JOINcores sco stu.studentNo = sco.studentNo


- 学生情報と学生のコースの対応するスコアのクエリ(3つのテーブルが接続されている、、、名前はエイリアスです)-SELECT stu.name名前、sco.scoreスコア、cou.nameコース名FROM学生stu、スコアsco、コースcou 
-WHERE stu.studentNo = sco.studentNoおよびsco.courseNo = cou.courseNo

-クエリの結果を、対応する学生情報と学生のコース(リンク3つのテーブル内,,,名前は...別名です)
-構文:選択*テーブルINNER FROMは接続された二つのテーブルに基づく条件の表IIを登録しよう
- -SELECT stu.name名前、sco.scoreスコア、cou.nameコース番号、学生
stuから-INNER JOINはsco.ctuseNo = sco.studentNoで
sco.studentNoのスコアをsco.courseNo = cou.courseNoでcouのスコアを取得


- 小さな成績を照会するには、名前、コース番号、成績を表示する必要があります(3つのテーブルで接続されており、name ...はエイリアスです)-select stu.name、sco.score、cou.`name` from学生 
stu
-innerの参加は、stu.studentNo = sco.studentNoのスコアscoを取得し
ます。


- 小さなデータベーススコアのクエリ、名前、コース名、成績の表示の要求- 学生からのstu.name、sco.score、cou.`name`の 
選択-stun.studentNo = sco.studentNoのスコア結合スコアの内部結合
-inner joinコースcou on cou.courseNo = sco.courseNo
-where stu.`name` = 'little' and cou.`name` = 'database'

-方法1:ボーイズクエリ最高の性能要件の表示名、コース名、スコア
- SELECT stu.name、stu.sex、sco.score、STU学生からcou.`name` 
-インナー参加スコアSCO ON STU .studentNo = sco.studentNo
-innerコースに参加cou.courseNo = sco.courseNo -where
sex = '
男性' -ORDER BY sco.score DESC
-LIMIT 1

-方法2:男の子クエリ最高スコアが名、コース名、スコア表示するために必要な
- SELECT stu.name、stu.sex、sco.score、STU学生、スコアSCO、コースCOUからcou.`name`を
- stu.studentNo = sco.studentNo WHERE
-及びsco.courseNo = cou.courseNo
-及び性別= 'M'
- sco.scoreのDESC BY ORDER
-リミット1

-連結構文を左
- SELECT * FROM表1-表1の 
左結合表2。同じ条件=表2.同じ条件


- 成績なしの生徒を含むすべての生徒スコアを照会します-SELECT stu.name、sco.score FROM 
student stu -LEFT JOINがscoをstu.studentNo = sco.studentNoでスコアします


- すべての生徒の成績を照会し  、成績がない生徒も含めて、コース名を表示する必要があります
。 StudentNo-
LEFT JOINコースcou on sco.courseNo = cou.courseNo

-右結合構文 
-select * from Table 1
-right join Table 2 on Table 1 on same condition = Table 2. same condition

- 成績なしのコースを含むすべてのコース
スコアを
照会します-SELECT * FROMスコアsco  -sco.courseNo = cou.courseNoのRIGHT JOINコースcou


- 学生を含む成績なしのコースを含むすべてのコースのスコアを照会します-SELECT sco.score、cou.`name`、stu.`name` FROMスコアsco 
-RIGHT JOINコースcou on sco.courseNo = couもちろん、
学生はstu.studentNo = sco.studentNoに参加しています。


 

公開された29件の元の記事 受け取った1 ビュー595

おすすめ

転載: blog.csdn.net/wennie11/article/details/104675661