位置: 编程技术 - 正文

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函数使用方法小结

  • 购买二手车还需要交购置税吗
  • 通用机打发票还能用吗
  • 增值税普通发票和普通发票的区别怎么交税
  • 个体工商户怎么注册
  • 销售自己使用过的物品
  • 转给个人账户的钱可以追回来了吗?
  • 购买的原材料直接用怎么做账
  • 固定资产处置怎么计算
  • 部分退货退款剩下的钱什么时候给卖家
  • 购买印花税票怎么抵扣
  • 租车服务的税率
  • 关于小规模纳税人的说法错误的有
  • 关联关系的判定标准
  • 异地预缴本地申报流程
  • 转籍车辆是什么意思
  • 物业公司安装监控为了什么
  • 车间办公费计入什么会计科目
  • 现金分红和红利再投是什么意思
  • 所得税汇算清缴分录怎么做
  • 债务转为资本什么意思
  • mysql的minus
  • 借条字迹不清楚有效吗
  • 原始凭证必须具备的基本要素
  • 我辞职了公积金怎么交
  • php获取变量长度
  • php句法规则详解图
  • php数组的类型有哪些
  • 什么情况下个人需缴纳房产税
  • 债务重组收益的计算
  • php gd库
  • 阿尔莫什
  • php实现和工作原理
  • 出售还在摊销的产品
  • 挥别2020逐梦2021
  • 合同补充协议印花怎么写
  • 工会经费减除项包括哪些
  • 承兑汇票提前承兑手续费
  • 支付水电费如何做账务处理
  • 公司对自己内部的要求
  • 不良品扣款入什么科目
  • 主营业务收入含义
  • 企业正常性停产什么意思
  • access2016备注型
  • mysql创建存储过程sql语句
  • 报关期限是如何规定的
  • 可供出售金融资产现在叫什么
  • 企业小汽车折旧年限
  • 收到季度房租需要分摊吗
  • 投入产出法如何申报
  • 预缴税款留抵是什么意思
  • 税控抵税怎么做分录
  • 当月开具的专票可以当月抵扣吗
  • 去税局购买税盘要注意什么
  • 购入汽车属于什么会计科目
  • 酒店食材成本如何分析
  • 购入固定资产一次性扣除政策
  • mysql性能比较
  • mysql查询包含
  • mysql函数返回值类型
  • centos 7.2安装
  • Win7系统不小心将TCP/IP协议卸载如何重新安装?
  • win10系统应用
  • win10系统打不开jpg图片
  • windowssystem32configsystem 损坏
  • Linux如何开启防火墙
  • win8.1系统如何升级到win11
  • cocoscreator分包
  • unity性能优化工具
  • 简述opengl的编程步骤
  • threejs中文文档pdf
  • ext.grid.editorgridpanel
  • angularjs表格控件
  • 批处理程序删除文件夹中临时文件
  • python利用csv模块在对csv文件进行操作
  • bootstrap怎么学
  • jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
  • 税务局三方协议变更
  • 珠海南湾国际属于香洲哪个街道
  • 云南医保可以网上买药吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设