位置: 编程技术 - 正文

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

  • 买车库需要交税吗
  • 合伙企业交企业所得税还是个人所得税
  • 公转法人交税
  • 国际多式联运必须具备的基本条件是什么
  • 自建的固定资产可以抵扣吗
  • 出口无法收汇怎么办
  • 股票投资收益是指投资者从购入股票开始到出售为止整
  • 实收资本变更股东要交税吗
  • 企业代办业务有哪些
  • 收到发票冲预付账款摘要怎么写
  • 抵押担保查询
  • 交易性金融资产的交易费用计入哪里
  • 金融机构对服务的要求
  • 没签合同怎么交社保
  • 应交税费借方余额填列资产负债表
  • 金银首饰的消费税税务处理
  • 发票丢失罚款标准要看金额吗
  • 劳务服务公司可以承包大型工程吗?
  • 买股票的分红怎么拿
  • i5 8500装win10
  • 收到客户付款 会计分录
  • 代扣的工会会费怎么做账
  • 投标保证金退回是什么意思
  • PHP:oci_fetch_assoc()的用法_Oracle函数
  • 公账提取备用金限额
  • wordpress 中文版和国际版区别
  • mysql如果不存在就创建表
  • avgcc32.exe进程是什么文件产生的 avgcc32进程信息查询
  • 公司一直没有收入怎么办
  • 增量预算对应什么预算
  • 外企采购回扣普遍吗
  • uniapp编译原理
  • php pop
  • 微信小程序制作
  • 研发和技术服务税率3%
  • vue2.0安装
  • 进口付汇和出口收汇
  • 新制度设置了应缴财政款科目原制度设置了什么科目
  • 销售返利的会计处理方法
  • 应付票据是商业承兑汇票吗
  • 累计折旧是当月提还是下月提
  • 其他收益在报表列示的项目是
  • 小规模纳税人怎么开增值税专用发票
  • 小微企业税款征收方式
  • 小规模企业免征增值税如何做账
  • 建筑劳务公司需要什么资质
  • 综合所得减除费用标准为60000.00元/年
  • 工资发放用现金
  • mysql select语句操作实例
  • 金融资产主要包括
  • 小规模企业房产税税率是多少
  • 实收资本现金入账怎么办
  • 以前年度少计提的工资怎么处理
  • 收到国库退款
  • 交易性金融资产的入账价值
  • 村料采购会计科目有哪些
  • 应交所得税如何调整
  • 目标考核奖金做什么科目
  • 计提盈余公积比例
  • win19截屏快捷键
  • win7用固态
  • centos mtr
  • Windows7更改用户名
  • windows10预览版怎么样
  • explorer.exe是啥意思
  • 如何让计算机自动关机
  • xp系统的设置在哪里
  • win8 系统设置
  • shadowbar.exe - shadowbar是什么进程 有何作用
  • 更改mac地址值
  • linux双网卡双ip配置
  • win8系统电脑
  • winedt中文界面
  • python虚拟环境管理
  • android判断横竖屏
  • ztree getnodebytid
  • python模拟用户登录过程,输入账号及密码
  • 张家港市有什么好吃的美食
  • 代理记账公司简介模板范文
  • 出版社税费多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设