【竞答】如何找到所有学生都参加的兴趣小组?

论坛帖子地址为:

http://topic.csdn.net/u/20090828/14/178548cf-de01-4c2f-b5ef-5d760e05fae8.html

 

 

 

学校里学生可能参加多个兴趣小组,写一条SQL语句,得到这些学生所共同参与的所有小组

提交答案请注明:数据库类型和版本

测试数据结构如下(MySQL为例):不同数据库请自行建立


-- 学生 drop table if exists Student; create table Student ( id int primary key not null auto_increment, name varchar(20) not null ); insert into Student (name) values('张三'),('李四'),('王五'),('赵六'); -- 兴趣 drop table if exists Favorite; create table Favorite ( id int primary key not null auto_increment, name varchar(20) not null ); insert into Favorite (name) values ('足球'),('篮球'),('电影'),('音乐'); -- 学生的兴趣 drop table if exists StuFav; create table StuFav ( studentId int not null, favoriteId int not null, primary key PK_StuFav (studentId,favoriteId) ); insert into StuFav values (1,1),(2,1),(3,1),(4,1), (2,2),(3,2),(4,2), (3,3), (1,4),(2,4),(3,4),(4,4);
运行结果应该为 足球和音乐。

你可能感兴趣的:(【竞答】如何找到所有学生都参加的兴趣小组?)