5.4 重温mysql

-- 学生表
CREATE TABLE students(
    sno VARCHAR(20),
    sname VARCHAR(20),
    ssex VARCHAR(20),
    sbirthday DATETIME,
    class VARCHAR(20)
)
INSERT INTO students VALUES (108,'曾华','',19770901,95033);
INSERT INTO students VALUES (105,'匡明','',19751002,95031);
INSERT INTO students VALUES (107,'王丽','',19760123,95033);
INSERT INTO students VALUES (101,'李军','',19760220,95033);
INSERT INTO students VALUES (109,'王芳','',19750210,95031);
INSERT INTO students VALUES (103,'陆君','',19740603,95031);

-- 课程表
CREATE TABLE course (
    cno VARCHAR(20),
    cname VARCHAR(20),
    tno VARCHAR(20)
)
INSERT INTO course VALUES( '3-205','计算机导论',825);
INSERT INTO course VALUES( '9-245','操作系统',804);
INSERT INTO course VALUES( '6-166','数字电路',856);
INSERT INTO course VALUES( '9-888','高等数学',831);

-- 成绩表
CREATE TABLE scores(
    sno VARCHAR(20),
    cno VARCHAR(20),
    degree DECIMAL(4,1)
)
INSERT INTO scores VALUE (103,'3-245',86);
INSERT INTO scores VALUE (105,'3-245',75);
INSERT INTO scores VALUE (109,'3-245',68);
INSERT INTO scores VALUE (103,'3-105',92);
INSERT INTO scores VALUE (105,'3-105',88);
INSERT INTO scores VALUE (109,'3-105',76);
INSERT INTO scores VALUE (101,'3-105',64);
INSERT INTO scores VALUE (107,'3-105',91);
INSERT INTO scores VALUE (108,'3-105',78);
INSERT INTO scores VALUE (101,'6-166',85);
INSERT INTO scores VALUE (107,'6-166',79);
INSERT INTO scores VALUE (108,'6-166',81);

-- 教师表
CREATE TABLE teacher (
    tno VARCHAR(20),
    tname VARCHAR(20),
    tsex VARCHAR(20),
    tbirthday DATETIME,
    prof VARCHAR(20),
    depart VARCHAR(20)
)
INSERT INTO teacher VALUE (804,'李诚','',19581202,'副教授','计算机系');
INSERT INTO teacher VALUE (856,'张旭','',19690312,'讲师','电子工程系');
INSERT INTO teacher VALUE (825,'王萍','',19770814,'助教','计算机系');
INSERT INTO teacher VALUE (831,'刘冰','',19770814,'助教','电子工程系');

-- 1查询Student表中的所有记录的Sname、Ssex和Class列
SELECT sname,ssex,class FROM students; 
-- 2查询教师所有的单位即不重复的Depart列
SELECT DISTINCT depart FROM teacher;
-- 3查询Student表的所有记录
SELECT * FROM students;
-- 4查询Score表中成绩在60到80之间的所有记录
SELECT * FROM scores WHERE degree>=60 AND degree<=80;
-- 5查询Score表中成绩为85,86或88的记录
SELECT * FROM scores WHERE degree=85 OR degree=86 OR degree=88;
-- 6 查询Student表中“95031”班或性别为“女”的同学记录
SELECT * FROM students WHERE class=95031 OR ssex='';
-- 7以Class降序查询Student表的所有记录
SELECT * FROM students ORDER BY class DESC;
-- 8以Cno升序、Degree降序查询Score表的所有记录
SELECT * FROM scores ORDER BY cno ASC, degree DESC;
-- 9查询“95031”班的学生人数
SELECT COUNT(*) FROM students WHERE class=95031;
-- 10查询每门课的平均成绩
SELECT cno,AVG(degree) FROM scores GROUP BY cno; 

猜你喜欢

转载自www.cnblogs.com/zs0322/p/10809351.html
5.4