#要獲取的資料在多個表中的時候,要使用連線查詢
#查詢科目編號、科目名稱、年級名稱
/* 需要哪些列
科目編號、科目名稱、年級名稱
列在哪些表中
科目編號,科目名稱-》subject
年級名稱->grade
表和表之間的共同列是什麼
subject和grade: gradeid
*/select
subjectno,subjectname,gradename
from
`subject`,grade
where
`subject`.`gradeid`=grade.`gradeid`
select
subjectno,subjectname,gradename
from
`subject` join grade
on `subject`.`gradeid`=grade.`gradeid`
# 查詢年級名稱、學生學號、學生姓名
/* 需要哪些列
年級名稱、學生學號、學生姓名
列在哪些表中
學生學號、學生姓名-》student
年級名稱->grade
表和表之間的共同列是什麼
student和grade: gradeid
*/select
gradename,studentname,studentno
from
grade join student on grade.`gradeid`=student.`gradeid`
# 使用外連線(主表(驅動表),子表(匹配表))
select
gradename,studentname,studentno
from
#left join的主表在左邊(grade),
grade left join student on grade.`gradeid`=student.`gradeid`
select
gradename,studentname,studentno
from
#left join的主表在右邊(student),
grade right join student on grade.`gradeid`=student.`gradeid`
# 所有學生的考試成績資訊
select
student.studentno,studentname,studentresult
from
student left join result on student.`studentno`=result.`studentno`
# 加別名
/*select
s.studentno,studentname,studentresult
from
student s left join result r on s.`studentno`=r.`studentno`
*/#顯示學生姓名,科目名稱,考試日期,成績
/* 需要哪些列
學生姓名,科目名稱,考試日期,成績
列在哪些表中
學生姓名-》student
科目名稱->subject
考試日期,成績-》result
表和表之間的共同列是什麼
student和result:studentno
subject和result:subjectno
*/select
student.`studentname`,subject.`subjectname`,result.`examdate`,result.`studentresult`
from
result join student on result.`studentno`=student.`studentno`
join `subject` on result.`subjectno`=subject.`subjectno`
mysql連線查詢例項 MySQL連線查詢例項詳解
建立表suppliers create table suppliers s id int not null auto increment,s name char 50 not null,s city char 50 null,s zip char 10 null,s call char 50 not...
mysql連線查詢例項 MySQL連線查詢例項詳解
建立表suppliers create table suppliers s id int not null auto increment,s name char 50 not null,s city char 50 null,s zip char 10 null,s call char 50 not...
mysql連線查詢on MySQL連線查詢例項詳解
建立表suppliers create table suppliers s id int not null auto increment,s name char 50 not null,s city char 50 null,s zip char 10 null,s call char 50 not...