位置: 编程技术 - 正文

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

  • 合同执行过程中应该怎么做
  • 土增税税率和速算例题
  • 我国采用的税率形式有哪几种
  • 多交企业所得税可以放弃退税吗
  • 金税四期有什么优势
  • 银行承兑汇票是什么科目
  • 通行费 发票
  • 销售退款怎么做分录
  • 回购股份进行股权激励会计分录
  • 应税服务增值税抵免
  • 公司代扣社保为什么是400多余的钱
  • 本月预缴税额怎么计算
  • 办公楼贷款比例
  • 突然收到财付通转出的钱
  • 车辆购置税计税依据包括
  • 工程项目企业座谈会新闻稿件
  • 增值税普通发票可以抵扣吗
  • 厂房进项抵扣
  • 待抵扣税费
  • 红字发票信息单需要寄给对方吗
  • 公司借出的私人物品
  • 外贸公司是做什么的 经营范围是什么
  • 股东以无形资产投资,撤资时怎么算
  • 我们无法创建新的分区,也找不到现有的分区 贴吧
  • 鸿蒙负一屏怎么设置
  • 期初摊余成本是初始入账价值吗
  • 不是公司员工差评怎么写
  • 可转债 承销
  • windows7旗舰版最新版本
  • linux系统中安装web服务
  • 试乘试驾车好不好
  • 长期借款的主要原因
  • 购入无形资产的增值税税率
  • 最早能玩游戏的人
  • pip清华源安装
  • 合并报表中为什么要抵损益
  • 外购产品的会计分录
  • 业务出差餐费如何记账
  • 财政部关于印发财政专户管理办法的通知
  • 工资结算汇总表怎么填
  • 股东收到投资收益会计科目
  • 小规模城建税和教育费附加分录
  • 为什么要缴纳保险
  • 所得税纳税年度
  • 普通发票可以扣除吗
  • 个税手续费返还比例
  • 委托代销安排的迹象有哪些
  • 怎么处理固定资产残值
  • 高新技术企业认定管理办法
  • 进口车购置税多少个点
  • 工业企业低值易耗品二级科目
  • win7系统设备管理器其他设备有个未知设备叹号
  • win10有没有语音输入
  • iexplores.exe是什么病毒
  • win10ie
  • windows xp密码忘记怎样解锁
  • 怎么查看macbook air序列号
  • vim编辑器命令大全
  • win11连接win7共享打印机
  • linux学啥
  • win7恶意程序怎么清除
  • linux mv命令的用法
  • 关于我和鬼变成家人的那件事
  • js前端导出word
  • [置顶] 混合、反走样、雾效、多边形偏移
  • gdi双缓冲绘制
  • jquery轮播代码
  • pythonista可以制作app吗
  • vue组件互相嵌套
  • jquery 上传进度
  • ECLIPSE编辑器
  • javascript入门基础
  • Python3.6正式版新特性预览
  • unity3.
  • jquery插件库免费
  • 使用筷子就餐会不会传染乙肝病毒
  • javascript面向对象 第三方类库
  • android root 原理
  • apk反编译去广告教程
  • 金融商品转让都包括什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设