【实验三】
在上次实验建立的Gradem或Gradem1数据库中完成下面查询:
(1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。
SELECT * FROM student;
SELECT * FROM sc;
select * FROM course;
(2) 查询所有学生的学号、姓名、性别和出生日期。
SELECT sno 学号,sname 姓名,ssex 性别,sbirthday 出生日期
FROM student;
(3) 查询所有课程的课程名称。
SELECT DISTINCT cname
FROM course;
(4) 查询前10门课程的课号及课程名称。
SELECT cno 课号,cname 课程名称
FROM course LIMIT 10;
(5) 查询所有学生的姓名及年龄。
SELECT sname 姓名,YEAR(CURDATE())-YEAR(sbirthday) 年龄
FROM student;
(6) 查询所有年龄大于18岁的女生的学号和姓名。
SELECT sname 姓名,sno 学号
FROM student
WHERE YEAR(CURDATE())-YEAR(sbirthday)>18 AND ssex='女';
(7) 查询所有男生的信息。
SELECT *
FROM student
WHERE ssex='男';
(8) 查询所有任课教师的姓名(Tname)和所在系别(Tdept)。
SELECT Tname,deptno
FROM teacher;
(9) 查询“电子商务”专业的学生姓名、性别和出生日期。
SELECT sname 姓名,ssex 性别,sbirthday 出生日期
FROM student
WHERE sdept='软件系';
(10) 查询Student表中的所有系名。
SELECT DISTINCT sdept
FROM student;
(11) 查询“C01”课程的开课学期。
SELECT cterm
FROM teaching
WHERE cno='C01';
(12) 查询成绩在80~90分之间的学生学号及课号。
SELECT sno,cno
FROM sc
WHERE degree BETWEEN 80 AND 90;
(13) 查询在1970年1月1日之前出生的男教师信息。
SELECT *
FROM teacher
WHERE Tsex='男'
AND Tbirthday < '1970-01-01';
(14) 输出有成绩的学生学号。
SELECT sno
FROM sc
WHERE degree IS NOT NULL;
(15) 查询所有姓“刘”的学生信息。
SELECT *
FROM student
WHERE sname LIKE '刘%';
(16) 查询生源地不是山东省的学生信息。
SELECT *
FROM student
WHERE saddress NOT LIKE '%山东省%';
(17) 查询成绩为79分、89分或99分的记录。
SELECT *
FROM sc
WHERE degree = 79 OR degree=89 OR degree=99;
(18) 查询名字中第二个字是“小”字的男生的学生姓名和地址。
SELECT sname,saddress
FROM student
WHERE sname LIKE '%小%';
(19) 查询名称以“计算机_”开头的课程名称。
SELECT cname
FROM course
WHERE cname LIKE '计算机%';
(20) 查询计算机工程系和软件工程系的学生信息。
SELECT *
FROM student
WHERE sdept='计算机系' OR sdept='软件系';