SQL查询有两门以上不及格的学生及查询出全部及格的学生
1、表结构:
/*学生*/
create table student(
sno int not null primary key,
sname varchar(10)
);
/*课程*/
create table center(
cno int not null primary key,
cname varchar(10)
);
/*分数*/
create table sgrade(
sno int ,
cno int ,
sgrade int
);
2、插入数据:
insert into student values(11,'a');
insert into student values(12,'b');
insert into student values(13,'c') insert into center values(21,'aa');
insert into center values(22,'bb');
insert into center values(23,'cc') insert into sgrade values(11,21,54);
insert into sgrade values(12,22,57);
insert into sgrade values(11,21,51);
insert into sgrade values(12,21,36);
insert into sgrade values(11,21,28);
insert into sgrade values(12,22,42);
insert into sgrade values(11,21,59)
insert into sgrade values(11,21,79);
insert into sgrade values(12,22,85);
insert into sgrade values(11,21,90);
insert into sgrade values(12,21,96);
insert into sgrade values(11,21,98);
insert into sgrade values(12,22,94);
insert into sgrade values(11,21,99)
3、查询出有两门以上不及格的学生:
SELECT s.sno,s.sname
from student s
LEFT JOIN sgrade g on s.sno=g.sno
WHERE g.sgrade<60
GROUP BY s.sno HAVING COUNT(s.sno)>2
4、查询出全部及格的学生:
SELECT * FROM student WHERE sno not in (
SELECT s.sno
from student s
LEFT JOIN sgrade g on s.sno=g.sno
WHERE g.sgrade<60
)
SQL查询有两门以上不及格的学生及查询出全部及格的学生的更多相关文章
- linq 查询的两种方法 (在EF model中实现)
众所周知:linq查询有两种方式 1.通过linq表达式查询 2.是通过linq方法查询 代码中 每一步都有注释
- Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束”
Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束 Sql 中的连接查询:就是为了避免笛卡尔积,因为涉及到多表查询的化,不使用连接查询,会先将多个互相乘,求出笛卡尔积,然后在在里面查询符合的 ...
- Sql Server的艺术(六) SQL 子查询,创建使用返回多行的子查询,子查询创建视图
子查询或内部查询或嵌套查询在另一个SQL查询的查询和嵌入式WHERE子句中. 子查询用于返回将被用于在主查询作为条件的数据,以进一步限制要检索的数据. 子查询可以在SELECT,INSERT,UPDA ...
- SQL学习笔记四(补充-2)之MySQL多表查询
阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 #建表 create table depart ...
- 在SQL Server中为什么不建议使用Not In子查询
在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下 下面 ...
- SQL中对于两个不同的表中的属性取差集except运算
SQL中对两个集合取差集运算,使用except关键字,语法格式如下: SELECT column_name(s) FROM table_name1 EXCEPT SELECT column_name( ...
- c语言知识(找出大于2门成绩不及格的学生)
1.首先定义一个学生结构体(结构体中包含一个Score结构体): typedef struct score{ float chinese;//语文成绩 float english;//英语成绩 flo ...
- VS2017使用 SQL Localdb问题两则
VS2017使用 SQL Localdb问题两则 来博客园不算短了,总是索取者.最近使用VS2017,遇到一些问题,在解决时总是找不到拿来就能用的解决方案,在多方寻找,自行探索下,总算圆满解决,在这 ...
- 用一条SQL语句查出每门课都大于80分的学生的姓名
用一条SQL语句查出每门课都大于80分的学生的姓名,数据表结构如下: 建表SQL如下: ; -- ---------------------------- -- Table structure for ...
随机推荐
- SQL Server 中BIT类型字段增删查改那点事
话说BIT类型字段之前,先看“诡异”的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个 ...
- thymeleaf 字符串的拼接
- hdu1002-A + B Problem II-(java大数)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 内核进程切换 switch_to
参考: http://www.cnblogs.com/visayafan/archive/2011/12/10/2283660.html
- 03_java基础(七)之面向对象
16.封装查询结果对象 封装简单粗暴的理解就是:假设你在超市买苹果,买一个你可以一个手拿走,买两个你可以用两只手拿走,但是如果买了20个勒,咋办勒,那就用一个袋子装起来!这就 封装思想. 1.封装一个 ...
- Spring-session redis 子域名 session
Spring-session & redis 子域名共享session 例子: a.example.comb.example.comSpring 版本 4.2.6.RELEASE Spring ...
- LINUX 设置 backspace为删除键
描述 :在linux/unix平台上的 sqlplus中,如果输错了字符,要想删除,习惯性的按下backspace键后,发现非但没有删除想要删掉的字符,还多出了两个字符^H. 原因:由于终端默认ctr ...
- linux 根据服务名称批量杀死进程
ps -ef |grep python |awk '{print $2}'|xargs kill -9
- JMeter3.0(三十八)图形化HTML报告中文乱码问题处理(转载)
转载自 http://www.cnblogs.com/yangxia-test 由于个人在JMeter 3.0的实际应用中,脚本中的Test Plan/Sampler等元件命名都没有使用中文,所以在之 ...
- telnet ip/域名 端口 是否成功
有时候会ping ip 通,但是telnet不通,可能端口未开. telnet不成功,则显示不能打开到主机的链接,链接失败 . telnet成功,则进入telnet页面(全黑的),证明端口可用.