位置: 编程技术 - 正文

sqlserver exists,not exists的用法

编辑:rootadmin
学生表:create table student( id number(8) primary key, name varchar2(),deptment number(8))选课表:create table select_course( ID NUMBER(8) primary key, STUDENT_ID NUMBER(8) foreign key (COURSE_ID) references course(ID), COURSE_ID NUMBER(8) foreign key (STUDENT_ID) references student(ID))课程表:create table COURSE( ID NUMBER(8) not null, C_NAME VARCHAR2(), C_NO VARCHAR2())student表的数据: ID NAME DEPTMENT_ID---------- --------------- ----------- 1 echo 2 spring 3 smith 4 liter course表的数据: ID C_NAME C_NO---------- -------------------- -------- 1 数据库 data1 2 数学 month1 3 英语 english1select_course表的数据: ID STUDENT_ID COURSE_ID---------- ---------- ---------- 1 1 1 2 1 2 3 1 3 4 2 1 5 2 2 6 3 .查询选修了所有课程的学生id、name:(即这一个学生没有一门课程他没有选的。)分析:如果有一门课没有选,则此时(1)select * from select_course sc where sc.student_id=ts.id and sc.course_id=c.id存在null,这说明(2)select * from course c 的查询结果中确实有记录不存在(1查询中),查询结果返回没有选的课程,此时select * from t_student ts 后的not exists 判断结果为false,不执行查询。SQL> select * from t_student ts where not exists (select * from course c where not exists (select * from select_course sc where sc.student_id=ts.id and sc.course_id=c.id)); ID NAME DEPTMENT_ID---------- --------------- ----------- 1 echo .查询没有选择所有课程的学生,即没有全选的学生。(存在这样的一个学生,他至少有一门课没有选),分析:只要有一个门没有选,即select * from select_course sc where student_id=t_student.id and course_id=course.id 有一条为空,即not exists null 为true,此时select * from course有查询结果(id为子查询中的course.id ),因此select id,name from t_student 将执行查询(id为子查询中t_student.id )。SQL> select id,name from t_student where exists(select * from course where not exists(select * from select_course sc where student_id=t_student.id and course_id=course.id)); ID NAME---------- --------------- 2 spring 3 smith 4 liter3.查询一门课也没有选的学生。(不存这样的一个学生,他至少选修一门课程),分析:如果他选修了一门select * from course结果集不为空,not exists 判断结果为false;select id,name from t_student 不执行查询。SQL> select id,name from t_student where not exists(select * from course where exists(select * from select_course sc where student_id=t_student.id and course_id=course.id)); ID NAME---------- --------------- 4 liter4.查询至少选修了一门课程的学生。SQL> select id,name from t_student where exists(select * from course where exists(select * from select_course sc where student_id=t_student.id and course_id=course.id)); ID NAME---------- --------------- 1 echo 2 spring 3 smith

推荐整理分享sqlserver exists,not exists的用法,希望有所帮助,仅作参考,欢迎阅读内容。

sqlserver exists,not exists的用法

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

sqlserver substring函数使用方法小结 在操作sqlserver时候用到了substring函数SUBSTRING(expression,start,length)参数expression字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚

sql 判断数据库,表,存储过程等是否存在的代码 sql判断是否存在--判断数据库是否存在ifexists(select*frommaster..sysdatabaseswherename=N'库名')print'exists'elseprint'notexists'-----------------判断要创建的表名是否存

做购物车系统时利用到得几个sqlserver 存储过程 即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继

标签: sqlserver exists,not exists的用法

本文链接地址:https://www.jiuchutong.com/biancheng/349787.html 转载请保留说明!

上一篇:SQL 根据汉字获取全拼的代码(sql查询字段值为汉字的)

下一篇:sqlserver substring函数使用方法小结

  • 房产税会计分录怎么写
  • 缴纳企业所得税会计分录怎么做
  • 税务知识:价外费用包括哪些费用?
  • 电子承兑对方拒绝签收
  • 个税申报时提示扣缴单位无有效的税费种认定信息
  • 需要冲红的普通发票无法收回怎么办
  • 云信付款如何贴现
  • 总产值和主营业务收入
  • 实收资本未到位情况说明
  • 会议费怎么做会计分录
  • 房租收入应该计入什么会计科目
  • 三个月工资一次扣税多少
  • 工会费入账科目
  • 企业重组中撤资所得税有哪些处理规则?
  • 公司借给个人的款项会计分录
  • 车辆租赁费可以开专票吗
  • 营改增的增值税税率
  • 个人开劳务专票给公司怎么开
  • 小规模国税地税怎么交
  • 股东收回投资款的现金流量
  • 所得税年报能撤销吗
  • 信息技术费用如何做分录
  • 财务软件单机版下载免费
  • 实习生短期意外保险能企业所得税前扣除吗?
  • php中的类
  • linux不能联网怎么解决
  • 购货方收到红字发票要认证吗
  • linux1970
  • mscorsvw.exe是什么进程
  • 微软输入法卸载不了
  • 私车公用维修费属于个人承担吗
  • bds.exe
  • redis网络模型 框架图
  • 职工取得全年一次性奖金如何计算缴纳个人所得税?
  • 定额发票累计领用金额怎么填
  • php的foreach
  • 汽车维修费发票怎么开
  • 一般纳税人和小微企业的区别
  • 发票报销入账
  • 购进来的样品怎么账务处理
  • wordpress文章保存在哪里
  • 未分配利润在科目余额表里怎么看
  • 送货运输费用税率
  • 物权转移的几种情形
  • Mysql优化之Zabbix分区优化
  • 电商行业退货退款流程
  • 记账金额怎么写
  • 收取的招标资料费增值税税率
  • 购买样品入库的账务处理
  • 收到运输服务发票会计分录
  • 年末资产减值损失可以税前扣除吗
  • 固定资产开普票还是专票
  • 单位起诉员工赔偿算劳动争议
  • 货物赔偿款计入什么会计科目
  • 公司房租收据可以入账吗
  • sqlserver 千万数量级分页存储过程代码
  • qq windows
  • windows2000自动登陆
  • win8截屏在哪个文件夹
  • window8怎么样
  • centos7.6有线连接
  • win8.1屏幕键盘
  • win10系统中怎么安装安卓应用
  • windows7禁止开机启动
  • 升级win10后无法修改magicbook开机画面
  • win8.1无线
  • linux小技巧
  • 画廊作品
  • 用css滤镜实现的代码
  • unity getint
  • fragment中嵌套fragment
  • 深入理解javascript
  • 很全面的成语
  • 红杏是什么意思什么样的
  • 进项发票认证了怎么冲红
  • 四川税务申报如何网上申报零申报
  • 80491232税务申报代码
  • 开票系统功能
  • 银元面值有哪些种类
  • 耕地占用税应该什么时候交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设