MySQL-习题

CREATE TABLE student(
         sno VARCHAR(20) PRIMARY KEY,
         sname VARCHAR(20) NOT NULL,
         ssex VARCHAR(20) NOT NULL,
         sbirthday DATETIME,
         class VARCHAR(20)
)
DESC student;
CREATE TABLE teacher(
         tno VARCHAR(20) PRIMARY KEY,
         tname VARCHAR(20) NOT NULL,
         tsex VARCHAR(20) NOT NULL,
         tbirthday DATETIME,
         prof VARCHAR(20),
         depart VARCHAR(20) NOT NULL 
)
DESC teacher;
CREATE TABLE course(
          cno VARCHAR(20) PRIMARY KEY,
          cname VARCHAR(20) NOT NULL,
          tno VARCHAR(20) NOT NULL,
          CONSTRAINT course_teacher_fk
          FOREIGN KEY(tno) REFERENCES
          teacher(tno)
)
DESC course;
CREATE TABLE score(
            sno VARCHAR(20) NOT NULL,
            cno VARCHAR(20) NOT NULL,
            degree DECIMAL(4,1),
            CONSTRAINT score_student_fk
            FOREIGN KEY(sno) REFERENCES
            student(sno),
            CONSTRAINT score_course_fk
            FOREIGN KEY(cno) REFERENCES
            course(cno)
)
DESC score;
INSERT INTO student VALUES('108','曾华','',19770901,'95033');
SELECT * FROM student;
INSERT INTO student VALUES('105','匡明','',19751002,'95031');
INSERT INTO student VALUES('107','王丽','',19760123,'95033');
INSERT INTO student VALUES('101','李军','',19760220,'95033');
INSERT INTO student VALUES('109','王芳','',19750210,'95031');
INSERT INTO student VALUES('103','陆君','',19740603,'95031');

INSERT INTO teacher VALUES('804','李诚','',19581202,'副教授','计算机系');
SELECT * FROM teacher;
INSERT INTO teacher VALUES('856','张旭','',19690312,'讲师','电子工程系');
INSERT INTO teacher VALUES('825','王萍','',19720505,'助教','计算机系');
INSERT INTO teacher VALUES('831','刘冰','',19770814,'助教','电子工程系');


INSERT INTO course VALUES('3-105','计算机导论','825');
SELECT * FROM course;
INSERT INTO course VALUES('3-245','操作系统','804');
INSERT INTO course VALUES('6-166','数字电路','856');
INSERT INTO course VALUES('9-888','高等数学','831');

INSERT INTO score VALUES('103','3-245',86);
SELECT * FROM score;
INSERT INTO score VALUES('105','3-245',75);
INSERT INTO score VALUES('109','3-245',68);
INSERT INTO score VALUES('103','3-105',92);
INSERT INTO score VALUES('105','3-105',88);
INSERT INTO score VALUES('109','3-105',76);
INSERT INTO score VALUES('101','3-105',64);
INSERT INTO score VALUES('107','3-105',91);
INSERT INTO score VALUES('108','3-105',78);
INSERT INTO score VALUES('101','6-166',85);
INSERT INTO score VALUES('107','6-166',79);
INSERT INTO score VALUES('108','6-166',81);
TRUNCATE TABLE score;
/*查询Student表中的所有记录的Sname、Ssex和Class列*/
SELECT sname,ssex,class FROM student;
/*查询教师所有的单位即不重复的Depart列*/
SELECT DISTINCT depart FROM teacher;
/*查询Student表的所有记录*/
SELECT * FROM student;
/*查询Score表中成绩在60到80之间的所有记录*/
SELECT * FROM score WHERE degree BETWEEN 60 AND 80;
/*查询Score表中成绩为85,86或88的记录*/
SELECT * FROM score WHERE degree=85 OR degree=86 OR degree=88;
/*查询Student表中“95031”班或性别为“女”的同学记录*/
SELECT * FROM student WHERE class='95031' OR ssex='';
/*以Class降序查询Student表的所有记录*/
SELECT * FROM student ORDER BY class DESC;
/*以Cno升序、Degree降序查询Score表的所有记录*/
SELECT * FROM score ORDER BY cno ASC,degree DESC;
/*查询“95031”班的学生人数*/
SELECT class,COUNT(class) FROM student GROUP BY class;
/*查询Score表中的最高分的学生学号和课程号*/
SELECT student.sno,cno FROM score JOIN student ON score.`sno`=student.`sno`
        WHERE degree=(
           SELECT MAX(degree) FROM score JOIN student
        )

猜你喜欢

转载自www.cnblogs.com/yelena-niu/p/9006961.html