位置: 编程技术 - 正文

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

  • 企业投资收益要开发票吗
  • 私车公用报销流程怎么写
  • 小规模纳税人出口可以退税吗
  • 增值税发票的红章压到金额没有关系吧
  • 职工教育经费能结转几年
  • 2021年增值税专用发票红冲发票步骤
  • 所得税减免优惠明细表应分摊期间
  • 2020年个体工商户税收政策超出额度怎么征收
  • 代扣五险一金会扣多少
  • 手撕发票怎么区分地区开具
  • 商贸运费核算到几号结束
  • 所得税汇算清缴分录怎么做
  • 预付办公室装修款
  • 进项转出后是否要交税
  • 递延收益可以是负数吗
  • 开具发票给顾客公司需要交纳什么税?
  • 农村合作社开具的专用发票免税吗
  • 缴纳残疾人就业保险金会计分录
  • 利润是负数不用计提所得税规定是什么?
  • 2016年红冲发票流程
  • 企业所得税怎么征收几个点
  • 员工股权激励会计处理分录
  • 企业白条报销和采取措施
  • 差旅费税务要求比例
  • 递延资产和长期负债区别
  • 其它综合收益算利润吗
  • 福利费开成增值税专用发票怎么办
  • 跨年如何冲减预提费用?
  • 生产测试是指什么
  • 华为鸿蒙一键抠图
  • 开具成品油发票规格型号有哪些要求
  • 筹建期的开办费需要归集后才能一次性扣除吗
  • 产品外包装的作用
  • 生产企业委外加工比例出口免抵退税
  • 出差的误餐费会计分录
  • 将自产的应税消费品用于非应税项目
  • kb4592438安装失败
  • 高新技术企业研发费用归集
  • 企业所得税弥补以前年度亏损怎么算
  • 工业企业采购部工作职责
  • 赊销商品属于什么信用
  • 只有使用权的房子能继承吗
  • 原材料明细账有记税吗
  • 没有抵扣联可以作废吗
  • 笑脸热气球 (© Leonsbox/Getty Images Plus)
  • ssh非交互式登录
  • 成本核算的五个要求
  • 购买承兑的收益会计分录
  • 关于在使用手机
  • mysql5.6解压版安装教程
  • 股东分红方式如何约定
  • 买车哪些费用可以计入固定资产
  • 商业企业如何建账
  • sql中的聚合函数
  • 接受母公司捐赠现金分录
  • 工程施工和工程结算对冲有差额的会计分录
  • 合伙企业有限合伙
  • 坏账准备的余额百分比法
  • 报销核销
  • 价税合计怎么求税额
  • 电子钥匙在线服务
  • 车间管理人员工资属于间接费用吗
  • sql server错误和使用情况报告
  • fedora debian ubuntu
  • linux咋用
  • 备份linux命令
  • “0x018b0b20”指令引用的“0×00000000”,该内存不能为“written”问题解决方法
  • unity开发3a
  • GLSL Tessellation Shader的编程入门介绍
  • css分页样式
  • python3 生成器
  • jQuery使用$.ajax进行异步刷新的方法(附demo下载)
  • unity3d怎么查看
  • linux链接ln
  • 国家税务江苏税务总局官网
  • 城建税教育费附加怎么做分录
  • 新车购置税是多少
  • 什么是从价计征,从量计征
  • 国家税务总局郴州
  • 发现个人所得税被物业挂职
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设