[MySQL光速入門]009 SQL強化練習答案

貓哥的技術部落格發表於2019-03-27

1. 查詢 Student 表中的所有記錄的 Sname、Ssex 和 Class 列。

select sname,ssex,class from Student;
複製程式碼

2. 查詢教師所有的單位即不重複的 Depart 列。

select distinct depart from teacher;
複製程式碼

3. 查詢 Student 表的所有記錄。

select * from student;
複製程式碼

4. 查詢 Score 表中成績在 60 到 80 之間的所有記錄。

select * from score where Degree between 60 and 80;
複製程式碼

5. 查詢 Score 表中成績為 85,86 或 88 的記錄。

select * from score where Degree in (85,86,88);
複製程式碼

6. 查詢 Student 表中“95031”班或性別為“女”的同學記錄。

select * from Student WHERE class="95031" or ssex = "女";
複製程式碼

7. 以 Class 降序查詢 Student 表的所有記錄。

select * from student order by class desc;
複製程式碼

8. 以 Cno 升序、Degree 降序查詢 Score 表的所有記錄。

select * from score order by cno asc,degree desc;
複製程式碼

9. 查詢“95031”班的學生人數。

select count(*) as 學生人數 from Student where class="95031"
複製程式碼

10. 查詢 Score 表中的最高分的學生學號和課程號。

select cno,sno from Score order by degree desc limit 1;
複製程式碼

11. 查詢每門課的平均成績。

select cno,avg(degree) from Score GROUP BY cno;
複製程式碼

12. 查詢分數大於 70,小於 90 的 Sno 列。

select sno,degree from score where degree > 70 and degree < 90;
複製程式碼

13. 查詢所有學生的 Sname、Cno 和 Degree 列。

SELECT
	sname,
	cno,
	degree 
FROM
	student
	INNER JOIN score ON score.sno = Student.sno;
複製程式碼

14. 查詢所有學生的 Sno、Cname 和 Degree 列。

SELECT
	sno,
	cname,
	degree 
FROM
	course
	INNER JOIN score ON score.cno = course.cno;
複製程式碼

15. 查詢所有學生的 Sname、Cname 和 Degree 列。

SELECT
	sname,
	cname,
	degree 
FROM
	Student,
	course,
	Score 
WHERE
	Student.sno = score.sno 
	AND course.cno = score.cno;
	
	
SELECT
	sname,
	cname,
	degree 
FROM
	course
	INNER JOIN score ON score.cno = course.cno
	INNER JOIN student ON score.sno = Student.sno;
複製程式碼

16. 查詢 95033 班和 95031 班全體學生的記錄。

SELECT
	* 
FROM
	course
	INNER JOIN score ON score.cno = course.cno
	INNER JOIN student ON score.sno = Student.sno 
WHERE
	class = "95031" 
	OR class = "95033";
複製程式碼

17. 查詢存在有 85 分以上成績的課程 Cno。

select cno from score WHERE degree > 85;
複製程式碼

18. 查詢 Student 表中不姓“王”的同學記錄。

select * from student WHERE sname not like "王%";
複製程式碼

19. 以班號和年齡從大到小的順序查詢 Student 表中的全部記錄。

select * from student order by class desc,sbirthday asc;
複製程式碼

快速跳轉

相關文章