近期在复习MySQL,收集了一些面试题做了一下,如果有语句写的不妥当的地方,欢迎各位同学指正~
万分之感恩感恩~~~~
目录
题1:
# 建表
mysql> create table test1(
-> id int(11) primary key auto_increment,
-> name varchar(50) not null,
-> kecheng varchar(50) not null,
-> fenshu int(11) not null
-> ) default charset=utf8;
# 新增数据
mysql> insert into test1 (name,kecheng,fenshu) values
-> ('张三','语文',81),
-> ('张三','数学',75),
-> ('李四','语文',76),
-> ('李四','数学',90),
-> ('王五','语文',81),
-> ('王五','数学',100),
-> ('王五','英语',90);
查询方法1:
思路:找出所有分数<80的人名,以此为查询范围,找出不在这个清单内的人名
mysql> select distinct name from test1 where name not in
-> (select name from test1 where fenshu<80);
查询方法2:
思路:用group by 和 min()函数结合,以name分组找出最低分>80的人名
mysql> select name from t