有三张表,学生表 S,课程 C,学生课程表 SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过 SC 表关联

1)写出建表语句;
2)写出 SQL 语句,查询选修了所有选修课程的学生;
3)写出 SQL 语句,查询选修了至少 5 门以上的课程的学生。
答:1)建表语句如下(mysql 数据库):

 create table s(id integer primary key, name varchar(20)); 
 create table c(id integer primary key, name varchar(20)); 
 create table sc( 
 sid integer references s(id), 
 cid integer references c(id), 
 primary key(sid,cid) 
 ); 

2)SQL 语句如下:

 select stu.id, stu.name from s stu 
 where (select count(*) from sc where sid=stu.id) 
 = (select count(*) from c); 

3)SQL 语句如下:

 select stu.id, stu.name from s stu 
 where (select count(*) from sc where sid=stu.id)>=5;