首页 > 其他分享 >子查询和衍生表

子查询和衍生表

时间:2022-12-07 09:35:00浏览次数:40  
标签:语句 表中 查询 子句 衍生 WHERE SELECT

子查询和衍生表

目录

一、为什么会使用子查询

虽然可以通过连接查询来实现多表查询数据记录,但不建议使用,因为连接查询的性能很差,为什么呢?

我们来进行分析,例如 我们要查询部门表dept 和雇员表employee中的数据记录,一般可能会写成:

SELECT * FROM dept t1,employee t2 WHERE t1.deptno=t2.deptno;

对于这条SQL语句,在数据库执行的时候,会先对两个表进行笛卡尔积操作,然后再选取符合条件 t1.deptno=t2.deptno的数据记录。由于笛卡尔积时是将两个表中的记录数做乘积生成新的记录,如果当两个表中的数据记录都比较多时,进行乘积操作时性能将会很差,甚至造成死机。为了解决该问题,我们可以使用子查询来实现多表查询。

二、什么是子查询

子查询,就是在一个查询中嵌套了其他若干查询,即在一个SELECT查询语句的FROM或WHERE字句中包含另一个SELECT查询语句,在这种嵌套的查询语句中,外层的SELECT查询语句称为主查询,WHERE或FROM中的查询语句称为子查询,也叫嵌套查询。通过子查询可以实现多表查询,子查询经常出现在WHERE或FROM字句中。

标签:语句,表中,查询,子句,衍生,WHERE,SELECT
From: https://www.cnblogs.com/likeguang/p/16962134.html

相关文章

  • 安卓APP源码和设计报告——快递查询录入系统
    《多媒体通信技术》题目:快递完成日期 2022年05月目录1绪论12设计方案22.1设计思路和方案22.2功能要求22.3设计的流程图23设计过程33.1界面布局33.2功能实现34......
  • 015.3MyBatis动态SQL(多条件复合查询)
    1.goods.xml<selectid="dynamicSQL"parameterType="java.util.Map"resultType="com.imooc.mybatis.entity.Goods">select*fromt_goods<where>......
  • 基于EasyCode定制Mybatisplus全自动单表实现:新增/批量新增/修改/批量删除/分页查询/ID
    基于EasyCode定制Mybatisplus全自动单表实现CRUD接口分页查询ID查询新增批量新增修改批量删除注意使用了MybatisPlus的自动填充功能,和insertBatchSomeColumn扩展......
  • python制作简单的查询工具
    前言:利用python的flask框架制作简单的手机号码归属地查询工具。首先需要做两个页面,第一个页面收集用户的输入信息,点击“查询”按钮后,跳转到第二个页面,显示查询到的信息。一......
  • oracle相关权限查询
    1.查询连接用户是否具有系统权限SELECTANYTABLEselectcount(*)fromuser_sys_privswherePRIVILEGE='SELECTANYTABLE';2.查询连接用户是否具有具备系统权限SELE......
  • 为什么域名ICP一定要备案?ICP备案怎么查询?
    为什么域名ICP备案对网站优化很重要?1、如果你的网站不备案,国内的搜索引擎是不会派蜘蛛来爬取你的网站的。也就是说,域名未备案的网站,是不会被收录了。前几年还好,未备案的网站......
  • 查询oracle用户下所有表
    1.查看所有用户:select*fromdba_users;select*fromall_users;select*fromuser_users;2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):select*fr......
  • 数据库分页查询
    MYSQL分页公式(当前页数-1)*每页条数,每页条数SELECT*FROMTABLELIMIT(Page-1)*PageSize,PageSize;SQLSERVER(row_number()over(orderby))该关键......
  • MongoDB海量数据分页查询优化
    MongoDB海量数据分页查询优化一、背景大量数据需从Mongo拿出来,一次性拿出来不科学,传统分页效率低下二、传统方案就是最常规的方案,假设我们需要对文章articles这个表......
  • 数据库查询基本语句
    1:基本连接基本规则:每个目标前必须写明指定表名称FROM子句包含使用的基表where子句定义一个同等连接使用方法:SELECTA.列1,A.列2,B.列1,A.列3FROM表1A,表2BWHEREA.列1=B.列1 2:内连......