当前位置: 首页 > news >正文

什么是一学一做视频网站好为什么建设网银网站打不开

什么是一学一做视频网站好,为什么建设网银网站打不开,平面设计面试作品集,链接买卖是什么意思今天总结的关于exists的作用和用法#xff0c;借鉴了一些他人的想法#xff0c;并进行了一些补充#xff0c;希望对你们有所帮助 引言 exists可以算得上是mySQL的一个关键字#xff0c;在很多sql语句中经常可以用到#xff0c;为了更好地理解exists关键字的用法#xf…今天总结的关于exists的作用和用法借鉴了一些他人的想法并进行了一些补充希望对你们有所帮助 引言 exists可以算得上是mySQL的一个关键字在很多sql语句中经常可以用到为了更好地理解exists关键字的用法下面从一个简单的例子引入下面是一个sql语句例子 select * from student where not EXISTS (select 1 from course where not EXISTS(select 1 from scwhere SC.S_idstudent.S_id and SC.C_idcourse.C_id))前置知识 要想理解exists的作用你要知道什么是相关子查询和不相关子查询 数据准备 -- 课程信息 DROP TABLE IF EXISTS student; CREATE TABLE course (C_id int NOT NULL,C_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (C_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; INSERT INTO course VALUES (1, 语文); INSERT INTO course VALUES (2, 英语); INSERT INTO course VALUES (3, 数学);-- 选修记录 DROP TABLE IF EXISTS sc; CREATE TABLE sc (S_id int NOT NULL,C_id int NULL DEFAULT NULL ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; INSERT INTO sc VALUES (1, 1); INSERT INTO sc VALUES (1, 2); INSERT INTO sc VALUES (1, 3); INSERT INTO sc VALUES (2, 2);-- 学生信息 DROP TABLE IF EXISTS student; CREATE TABLE student (S_id int NOT NULL,s_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (S_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; INSERT INTO student VALUES (1, 张三); INSERT INTO student VALUES (2, 李四); INSERT INTO student VALUES (3, 王五);具体图如下 基本作用 EXISTS 用于在主查询中执行条件判断以确定是否存在符合子查询条件的行。它返回布尔值TRUE 或 FALSE表示子查询是否至少返回一行结果。 例如 SELECT s_id, s_name FROM student WHERE EXISTS (SELECT 1FROM scWHERE sc.s_id student.s_id );执行步骤是 从student表中取第一条数据带入到子查询中 判断在sc表中至少存在一条数据满足条件sc.s_id student.s_id 存在 返回student表中s_id和s_name字段 不存在例如 SELECT s_id, s_name FROM student WHERE EXISTS ( SELECT 1 FROM sc WHERE sc.s_id 4 );没有任何输出 所以上面sql语句输出结果为 所以上面sql语句的意思是 对于student表中的每一条数据来说遍历sc表满的数据足条件sc.s_id student.s_id的记录的s_ids_name 也就是说查找有选修记录的学生信息 exists嵌套 了解基本作用后就可以尝试了解最开始的问题 select * from student where not EXISTS (select 1 from course where not EXISTS(select 1 from scwhere SC.S_idstudent.S_id and SC.C_idcourse.C_id))可以直观看出上面有两层嵌套 这是第一层 select 1 from course where not exists (select 1 from course where ...)这是第二层 select 1 from sc where SC.S_idstudent.S_id and SC.C_idcourse.C_id)不要慌我们一步一步分析 从student表中取一条数据放到第一层exists嵌套中 然后判断是否不存在满足第一层嵌套exists的条件where not exists (select 1 from course where ...) 这是一个exists的嵌套语句同理再在course表中取一条数据然后和student表中的第一条数据放到第二层嵌套中 select 1 from sc where SC.S_idstudent.S_id and SC.C_idcourse.C_id)可以发现已经没有嵌套了来判断是否不存在一条数据满足上面条件 可以发现满足条件也就是exists即存在选修记录返回false 接着带入course表中第二条数据也存在返回false, 接着带入course表中第三条数据也存在返回false, 此时course表中没有其他数据也就是说不存在他没有选修过的课程返回true,输出第一条学生信息 同理从student表中取第二条数据放到第一层exists嵌套中判断是否满足 …………带入course表中第一条数据不存在选修记录返回true,此时course表存在他没有选修过的课程返回false,不输出 同理从student表中取第三条数据放到第一层exists嵌套中判断是否满足 …………带入course表中第一条数据也不存在他没选修过的课程返回true对于第一个not exists而言只有false才输出此时course表存在他没有选修过的课程返回false,不输出 对于student表中数据而言不存在选修记录中不存在的课程的学生信息 输出结果为 最后总结发现上面sql句子的意思是 所有课程都选修的学生 也就是说查找选修了所有课程的学生信息。 类似的还有以下内容 select student.s_id, student.s_name from student where EXISTS (select 1 from course where not EXISTS(select 1 from scwhere SC.S_idstudent.S_id and SC.C_idcourse.C_id))所有课程还没对应的学生 答案 select student.s_id, student.s_name from student where not EXISTS (select 1 from course where EXISTS(select 1 from scwhere SC.S_idstudent.S_id and SC.C_idcourse.C_id))课程都不对应的学生 答案3 select * from student where EXISTS (select 1 from course where EXISTS(select 1 from scwhere SC.S_idstudent.S_id and SC.C_idcourse.C_id))课程对应的学生 答案12 参考链接 https://zhuanlan.zhihu.com/p/20005249 https://cloud.tencent.com/developer/article/2146774
http://www.w-s-a.com/news/646109/

相关文章:

  • 网络优化软件下载竞价排名和seo的区别
  • 龙华新区做网站中高端网站建设
  • 网站开发小图标大全手机网站设计开发
  • 网页设计设计一个网站口碑营销的优点
  • 枣庄建网站的公司唐山企业网络推广培训
  • 张家界建设企业网站学校资源网站建设方案
  • 网站制作教程书籍业务管理系统
  • 上传网站空间的建站程序怎么删除c 网站开发案例详解下载
  • 企业网站维护兼职丹阳网站优化
  • 秦皇岛网站开发公司怎么注册自己的公司
  • 写作网站哪个能得稿费绿色环保企业网站模板
  • 牡丹江网站建设定制开发安徽建设工程信息网官网入口
  • 有什么好的网站建设的书适合在家做的网站工作
  • wordpress情侣源码西安网站快速优化
  • 昆明网站建设高端定制100种班服设计图
  • 网站开发程序说明html网页制作接单
  • 企业网站货物查询怎么做制作文件的软件
  • 怎么做网站的防盗链北京门户企业网站建设
  • 网站推广的主流方法淘客网站 源码
  • 网站海外推广怎么做多用户商城系统源码教程
  • 猎头做单网站网站创建费用
  • 住房和城乡建设网站 上海自己做网站还是公众号
  • 投票网站怎么制作电商网站模板html
  • 攀枝花移动网站建设抖音广告投放平台
  • 什么是网站设计第一装修网
  • 公司网站建设一条织梦门户网站源码
  • 网站改版中su域名注册
  • 做网站有没有前途济南产品网站建设外包
  • 网站备案咨询做静态网站多少钱
  • 软件开发和网站建设一样吗太原今天最新通知