數據庫SQL語句-----單表多表連接查詢實例

查詢所有學生語文科目成績,按成績高低排名

SELECT A.ID,A.NAMES,B.SCORE FROM STUDENT A JOIN SCORES B ON A.ID=B.STUDENT_ID WHERE B.SUBJECT_ID='YW' ORDER BY SCORE DESC

UNION ALL 查詢

SELECT * FROM SCORES

UNION ALL //並起來,行數與列數必須相同

SELECT * FROM SCORES2

SELECT STUDENT_ID,SUBJECT_ID,SCORE FROM SCORES

UNION ALL

SELECT STUDENT_ID,SUBJECT_ID,SCORE FROM SCORES2

錯誤查詢,列不相同,如:

SELECT * FROM GRADE

UNION ALL

SELECT * FROM SUBJECT

必須保證列數相同,且數據類型一樣

SELECT ID FROM GRADE

UNION ALL

SELECT ID FROM SUBJECT

查詢2班所有學生數學成績>60分的記錄

SELECT A.ID,A.NAMES,B.SCORE FROM STUDENT A JOIN SCORES B ON A.ID=B.STUDENT_ID WHERE B.SUBJECT_ID='SX' AND A.GRADE_ID='02' AND B.SCORE>60

查詢所有學生信息,顯示學生姓名,性別,年齡,班級名稱,聯繫方式,住址

SELECT A.NAMES,CASE A.SEX WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '錄入錯誤' END AS SEX,YEAR(CURRENT //當前年份DATE)-YEAR(DATE(A.BIRTHDAY)//轉換成日期類型) AS AGE,B.NAMES,A.MOBILE,A.ADDRESS FROM STUDENT A JOIN GRADE B ON A.GRADE_ID=B.ID

查詢所有學生成績,按照科目排序,沒有成績的學生分數爲0

SELECT C.ID,C.NAMES,C.SUBJECTID,COALESCE(D.SCORE,0) FROM (SELECT A.ID,A.NAMES,B.ID AS SUBJECTID FROM STUDENT A,SUBJECT B) C LEFT JOIN SCORES D ON C.ID = D.STUDENT_ID AND C.SUBJECTID= D.SUBJECT_ID

ORDER BY C.SUBJECTID

//coalesce(c.score,備用的字段)判斷爲備用的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章