位置: 编程技术 - 正文

sqlserver exists,not exists的用法

发布时间:2024-02-26
学生表: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函数使用方法小结

  • 工程类预交税金
  • 工资完整的账务处理
  • 增值税出口退税计入什么科目
  • 计提生产车间工人和车间管理人员工资
  • 城镇土地使用税纳税义务发生时间
  • 实收资本增加印花税税目
  • 核定征收的固定资产包括
  • .申报表税源编码怎么填
  • 员工报销款可以公转私吗
  • 销售补差怎么做分析
  • 哪些银行承兑汇票不能收的名单
  • 固定资产盘亏造成的损失计入什么科目
  • 税率修改后对价格的影响
  • 处理固定资产一个月卖一点
  • 退款给客户怎么记分录
  • 融资协议如何缴纳印花税
  • 商品进销差价进哪个科目
  • 不征税收入税屋
  • 发放股票股利后的未分配利润怎么算
  • 现金折扣发票如何开具
  • 什么情况下要交消费税
  • 工会经费缴纳是当期
  • 未开票的货款记什么科目
  • 网络不通怎么拼ip
  • 收到培训内容的英文
  • 退税需要怎么操作
  • linux桌面不见了
  • php多线程怎么实现
  • 怎么打开win11的控制面板
  • hp是什么代码
  • 查询数据库的7个标准步骤
  • 违约金列支
  • 购买原材料的运输费计入什么科目
  • 存货跌价后销售会计分录
  • 即征即退增值税账务处理
  • php通信协议
  • php如何上传1个g以上的文件
  • 工程建设质保金比例
  • html在线小游戏
  • thinkphp原理及优缺点
  • Navicat for MySQL 15 v15.0.27 中文企业正式版(附安装教程) 32/64位 破解版
  • 累计预扣法的适用条件
  • 收到的免税苗木发票必须当月抵扣么
  • 季度所得税怎么算
  • 差额增收企业怎么做账
  • 企业适用的增值税税率
  • sqlserver 查询语句
  • 小规模纳税人财务报表季报怎么填
  • 法人可以是办税人员吗
  • 政府专项资金补助计入什么科目
  • 跨年的进项税额转出要补交税款吗
  • 建筑行业异地预缴税率
  • 固定资产清理不及时
  • 以前年度损益调整在报表哪里体现
  • 劳务公司开出发票没有收到钱,怎么做成本
  • 企业的研发活动阶段包括
  • 存货成本计算方法有几种?分别是什么?
  • 会计中结转属于什么科目
  • mysql函数大全以及举例
  • 使用筷子就餐会不会传染乙肝病毒
  • zhp.exe是什么进程
  • win8怎么分配磁盘空间
  • windows xp系
  • Win7电脑自动关机是什么原因
  • win8系统停止服务
  • linux中sed命令
  • win7系统运行卡怎么办
  • win7电脑磁盘突然不见了怎么办
  • 红石id
  • xbox无法连接无线网络
  • 列举linux常用的几个命令
  • td nowrap css nowrap使用说明于注意事项
  • unity用鼠标控制物体移动
  • 如何用python创建数据集
  • android强制关机
  • 医保可以异地交嘛
  • 报销的费用交印花税吗
  • 小规模纳税人购买车辆可以抵扣税吗
  • 什么是增值税一般纳税人证明
  • 湖北注册税务师协会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号