[关于SQL]查询成绩都大于80分的学生

1.用一条SQL语句 查询出每门课都大于80分的学生姓名
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90

CREATE TABLE [dbo].[chengji](
    [name] [nvarchar](50) NULL,
    [kecheng] [nvarchar](50) NULL,
    [fenshu] [int] NULL
) ON [PRIMARY]
GO
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'张三', N'语文', 81)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'张三', N'数学', 75)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'李四', N'语文', 76)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'李四', N'数学', 90)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'王五', N'语文', 81)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'王五', N'数学', 100)
INSERT [dbo].[chengji] ([name], [kecheng], [fenshu]) VALUES (N'王五', N'英语', 90)

检索语句:

mysql> select distinct name from chengji where name not in (select distinct name from chengji where fenshu<=80);
+------+
| name |
+------+
| 王五 |
+------+

mysql> select name from chengji group by name having min(fenshu)>=80;
+------+
| name |
+------+
| 王五 |
+------+

 

posted @ 2014-11-19 23:10  SummerChill  阅读(3487)  评论(0编辑  收藏  举报