位置: 编程技术 - 正文

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

  • 进项税转出大于进项税,加计抵减怎么计算
  • 按份共同保证和连带共同保证
  • 减免水利基金政策
  • 递延所得税转回的会计分录
  • 预缴所得税更正怎么操作
  • 纳税申报 财务报表利润表
  • 一般企业和小企业会计准则的区别
  • 申报入库税款怎么分税种发给税管员
  • 小规模个体户营业执照一共几个章
  • 其他应收款账户期初借方余额为35400
  • 预收房租增值税税率
  • 以股权投资入股放高利贷违法吗
  • 购买商品赠送
  • 研发设备的定义
  • 延递所得税资产减少
  • 增值税专用发票和普通发票的区别
  • 增值税专票盖章盖在哪里
  • 总公司集中支付说明
  • 开出技术服务费怎么结转成本
  • 管理费用明细是什么意思
  • 金蝶怎么一次性删除所有分录
  • 如何手动更新目录
  • 合并报表的范围
  • 为什么浏览器自动打开
  • 私立医院执行什么会计准则
  • 会计中记账凭证复核是谁负责
  • 应收账款转让的风险
  • 发票开了对方未付款
  • 原始凭证丢了怎么查帐
  • 开展党建系列活动
  • 在建工程账务核算方法
  • 科西嘉岛攻略
  • DeepLabV3+:Mobilenetv2的改进以及浅层特征和深层特征的融合
  • vue.js前端
  • pyecharts 表格
  • 集团对子公司拨款的规定
  • java中通配符作用
  • 普通发票可以跨年报销吗
  • 存货报废如何处理方案
  • 固定资产被替换的账面原值怎么算
  • 无偿提供房屋使用证明有什么后果
  • 固定资产加速折旧是什么意思
  • 承兑汇票多付退税怎么算
  • 财政补助收入怎样申报企业所得税
  • 企业逾期贷款利息影响征信吗
  • 企业租厂房没有发票怎么做账
  • 利润表的所得税和所得税申报表所得税
  • 税控盘费用进什么科目
  • 购买材料时如果没有取得购买材料的发票
  • 财务费用具体包括
  • 排污费征收范围包括
  • 主营业务收入分为
  • 银行扣掉的手续费怎么算
  • 净资产收益率计算公式
  • 高新技术企业享受优惠时间
  • 问答:分支机构是否需要设立账簿
  • 企业进行长期投资的意义
  • mysql 5.6.26 winx64安装配置图文教程(一)
  • mysql缩印
  • win8开机错误
  • docker安装位置
  • 电脑界面显示windows
  • linux系统基于
  • WinXP下载东西总提示找不到文件的原因及解决方法
  • win10系统谷歌浏览器为什么打不开
  • linux系统硬盘分区类型
  • win7待机时间在哪调
  • win8怎么做win7系统
  • win7旗舰版64位系统开机时软件设置自动启动详细图文教程
  • win8怎么查ip地址查询
  • 图文详解地理图册电子版
  • gitlab管理员账号 审批
  • unity3D游戏开发
  • python100行代码案例
  • 显示随机数
  • linux下mysql如何自动备份shell脚本
  • 湖北税务查询电话
  • 哪些保险有免赔额
  • 211学生占全国比例
  • 个人以土地投资入股都需缴纳哪些税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设