1. 程式人生 > >sql練習

sql練習

part each 練習 tinc 不重復 div bsp 所有 avg

use School
--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(*) from Student where Class = ‘95031‘
--10、 查詢Score表中的最高分的學生學號和課程號。(子查詢或者排序)
select Sno,Cno from Score where Degree =
(select MAX(Degree) from Score)

select top 1 Sno,Cno from Score order by DEGREE desc
--11、 查詢每門課的平均成績。
select Cno,AVG(DEGREE) from Score group by Cno
--12、查詢Score表中至少有5名學生選修的並以3開頭的課程的平均分數。
select AVG(Degree) from Score where Cno in
(select cno from Score group by Cno having COUNT(Cno)>=5)
and
Cno like ‘3%‘
--13、查詢分數大於70,小於90的Sno列。

--14、查詢所有學生的Sname、Cno和Degree列。
select t1.Sname,t2.Cno,t2.Degree from Student t1 full join Score t2 on t1.Sno = t2.Sno
--15、查詢所有學生的Sno、Cname和Degree列。
select t1.Sno,t2.Cname,t1.DEGREE from Score t1 full join Course t2 on t1.Cno=t2.Cno
--16、查詢所有學生的Sname、Cname和Degree列。
select t1.Sname,t3.Cname,t2.Degree
from Student t1
join Score t2 on t1.Sno=t2.Sno
join Course t3 on t2.Cno = t3.Cno

sql練習