位置: 编程技术 - 正文

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

  • 税务清算都交什么费用
  • 土地增值税的扣除项目包括哪几项
  • 待认证进项税额是什么情况下用的
  • 利息可以抵税是什么意思
  • 其他权益工具影响哪些报表
  • 固定模板的东西叫什么
  • 申报作废了还能修改吗
  • 固定资产无法使用不能带来经济利益是否需计提租金
  • 付款给对方未开具发票
  • 账本一般保存几年就可以销毁2004年的规定
  • 注册资本余额为100万亿元
  • 饭店的现金日记账填写样本
  • 转让实物资产税务处理
  • 发生销售退回如何开票
  • 存货成本包括消费吗
  • 分公司与总公司承担责任的法律规定
  • 实收资本未认缴资本还用填写吗
  • 企业购买汽车时需要交哪些税?
  • 进项税发票认证流程
  • 产值指的是财务报表哪个数值
  • 建筑发票怎么抵税
  • 新注册的个体户怎么开发票
  • 拿到购房发票
  • 怎么进行现金流量分析
  • 基建工程的各项工作包括
  • 劳务公司费用成本怎么算
  • 工厂电线
  • 财务费用错记成管理费用
  • 个人开票给公司有什么风险
  • 腾讯手游助手卡顿严重
  • 事业单位年终事迹材料
  • 单位租房的房租怎么入账
  • win10 net framework 3.5 离线
  • 浏览器播放视频加速怎么设置
  • 罗汉松的养殖方法剪枝视频
  • 最多人用的操作系统
  • php的js
  • 黑马程序员前端工程师简历
  • 公司报销额度是什么意思
  • 外汇返佣金
  • 业务招待费计入什么会计科目
  • 期初未缴税额有数字怎么处理
  • yii框架文档
  • 落日时光
  • thinkphp d
  • stable Diffusion安装教程
  • ajax调用
  • 前端页面设计
  • pdca安全管理方法
  • 行政事业单位慰问外单位
  • 处置长期股权投资产生的投资收益是什么
  • 营改增后自建厂房抵扣
  • layuitablechecked获取选中数据方式
  • 出口货物不能退税的账务处理
  • 固定资产盘亏要改变资产原值吗
  • 酒店营业成本预算
  • 一条sql更新多条记录
  • 未确认融资费用借贷方向
  • 运输业开发票
  • 建筑企业收挂靠公司管理费如何做账?
  • 退了的社保能申请回来吗
  • 公司购买一台电脑,会计科目怎么办
  • 已认证未抵扣的发票可以退回红冲吗
  • CentOS上查看系统信息以及配置防火墙的方法
  • 电脑开机出现ntfs
  • pdoors.exe
  • win10的蓝屏界面
  • node linux安装
  • win7无法更改工作组
  • 学习的引子
  • 简单理解贴现
  • ztree getnodebytid
  • 用python三角形
  • perl如何使用
  • Unity符国新:3D技术将渗透到生活的各个方面
  • 猫的游戏解说
  • nodejs的流处理模块
  • 什么是质数
  • 税控盘怎么领用
  • 郑州高新税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设