1. 程式人生 > 其它 >DQL-查詢筆記-2022-11-30

DQL-查詢筆記-2022-11-30

聯表查詢

join 連線的表 on(判斷的條件) 連線查詢   固定的語法

where  等值查詢

分析需求  分析查詢的資料來源於那些表

確定使用那種連線 7種

確認交叉點(這兩張表中哪個資料是相同的)

判斷條件 學生表中的 studentNo = 成績表中的  studentNo

-- 聯表查詢
SELECT s.`studentno`,studentname,`subjectno`,`studentresult`
FROM student AS s
INNER JOIN result AS r
on s.studentno = r.studentno

操作 描述
inner join 如果表中至少有一個匹配,就返回行
right join 會從右表中返回值,即使左表中沒有匹配
left join 會從左表中返回值,即使右表中沒有匹配

--查詢缺考的同學

SELECT s.`studentno`,studentname,`subjectno`,`studentresult`
FROM student AS s
LEFT JOIN result AS r
ON s.studentno = r.studentno
WHERE studentresult IS NULL

--三張表聯表

-- 三張表關聯
-- 學號,姓名,科目編號,科目名,分數
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student s
RIGHT JOIN result r
ON s.studentno = r.studentno
INNER JOIN `subject` sub
ON r.`subjectno`= sub.`subjectno`

-- 我要查詢哪些資料  select  

-- 從那些表中查    from  表 XXX join 連線的表 on 交叉條件

-- 假設存在多張表的查詢,慢慢來,先連兩張表