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 | +------+ | 王五 | +------+