位置: 编程技术 - 正文

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

  • 应交个人所得税在借方是什么意思
  • 我国采用的税率形式有哪几种
  • 发票专票抵扣
  • 印花税应计入什么账户
  • 没有发票可以先报销吗
  • 酒店购买的空调折旧计入管理费用吗
  • 更改开票信息需要多久
  • 其他应付款长期挂账违反什么规定
  • 电子发票手动导出的发票在哪里
  • 增值税的核算方式
  • 纳税申报表多缴了怎么办
  • 出口退税销项大于进项,需要交税吗
  • 公司注册的费用记什么科目
  • 减免的增值税如何账务处理
  • 季度所得税报表季初资产总额怎么填
  • 物业公司税务风险
  • 办理核定企业所需资料
  • 土地转让怎么缴纳增值税
  • 个人取得的股票转让所得暂不征收个人所得税
  • 上月开的发票本月作废怎么处理
  • 出口视同内销补缴增值税会计分录?
  • 应付工资和实付工资的差额叫什么
  • 在Win10系统中卸载最近更新的补丁并重启电脑
  • 建筑单位领用材料分录
  • 销售利润率是什么能力指标
  • 专家评审费如何报账
  • 罚款应该计入营业所吗
  • 财政补助收入的支付制度包括
  • 营改增前甲供材施工企业如何缴纳企业所得税
  • NDSTray.exe - NDSTray是什么进程 有什么用
  • 长期应收款在哪一章
  • 银行本票存款和银行存款的区别
  • php模拟表单提交
  • 来料加工企业需注意什么
  • 企业购买银行理财
  • php ascii
  • 购买股票会计处理流程
  • 稿酬所得收入额含税吗
  • 报废机器设备如何缴纳增值税
  • 企业转让专利权属于什么收入
  • 农民专业合作社是企业法人吗
  • 新建利润表
  • 公司让员工提前离职,可以结清工资吗
  • mysql自连接查询各个部门经理的工资
  • 生产车间发生的固定资产租赁费用属于直接费用
  • 新会计准则股权投资
  • 借款与报销流程设计
  • 销售增长率计算公式财务管理
  • 客户是否需要向客户介绍
  • 现金折扣方式销售货物不得从计税销售额中扣减折扣额
  • 进项税留抵税额是什么意思
  • 固定资产的运输费和包装费计入
  • 直接人工成本项目
  • 最新版的电子发票没有章
  • 代收水电费如何入账
  • 库存股算什么科目
  • 预收账款账务处理流程图
  • 什么是盈余公积和资本公积的区别
  • sqlserver数据库事物日志已满
  • mysql中索引有什么用
  • Ubuntu下MySQL中文乱码的问题解决
  • 组建,加入或退出工会都是基于
  • 在windows xp
  • linux系统基于
  • linux epub阅读器
  • mom.exe是什么程序
  • win8安装itunes
  • 小地图的主要作用是观察队友的大概位置
  • python 多线程调用
  • shell脚本-lt
  • django的url
  • 在电子税务局如何增加税种
  • 湖北耕地占用税标准
  • 农业部利剑行动
  • 江苏省电子税务局怎么添加办税人员
  • 仓储物流企业的事故指标
  • steam账号要身份证吗
  • 融资租赁做什么业务
  • 电子税务局里怎么删除购票员
  • 地税应急管理办法最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设