首页 > 数据库 >MySQL的多表查询(笛卡尔积原理)

MySQL的多表查询(笛卡尔积原理)

时间:2022-11-25 17:02:38浏览次数:42  
标签:多表 笛卡尔 子句 连接 MySQL where order select




  1. 先确定数据要用到哪些表。
  2. 将多个表先通过笛卡尔积变成一个表。
  3. 然后去除不符合逻辑的数据(根据两个表的关系去掉)。
  4. 最后当做是一个虚拟表一样来加上条件即可。

 

注意:列名最好使用表别名来区别。

 

 

笛卡尔积

 

 

MySQL的多表查询(笛卡尔积原理)_外连接

 

 

Demo:

MySQL的多表查询(笛卡尔积原理)_数据库_02

 

左,右连接,内,外连接

l             内连接:

要点:返回的是所有匹配的记录。

  1. 2.         select * from a,b where a.x = b.x                                                 ////内连接

l             外连接有左连接和右连接两种。

要点:返回的是所有匹配的记录 外加 每行主表外键值为null的一条记录。辅表所有列为null值。

  1. select * from a left join b on a.x=b.x order by a.x  //左外连接或称左连接
  2. select * from a right join b on a.x=b.x order by a.x  //右外连接或称右连接

select子句顺序



子句

说明

是否必须使用

select

要返回的列或表示式

form

从中检索数据的表

仅在从表选择数据时使用

where

行级过滤

group by

分组说明

仅在按组计算聚集时使用

having

组级过滤

order by

输出排序顺序

limit

要检索的行数

标签:多表,笛卡尔,子句,连接,MySQL,where,order,select
From: https://blog.51cto.com/u_15834343/5887052

相关文章

  • 林晓斌 MySQL实战45讲(学习笔记)
    本系列是学习极客时间林晓斌的《MySQL实战45讲》系列的学习笔记。原文链接:https://time.geekbang.org/column/intro/13901基础架构:一条SQL查询语句是如何执行的?https://bl......
  • MySQL查询
    目录SQL语句查询关键字前期数据准备编写SQL语句的小技巧查询关键字之where筛选查询关键字之groupby分组查询关键字之having过滤查询关键字之distinct去重查询关键字之ord......
  • mysql增删改查
    目录:SQL语言分类1、DDL:数据定义语言创建新的数据库创建新的表删除指定的数据表删除指定的数据库2、DML管理表中的数据......
  • 阿里云服务(centos8)安装mysql8.0
    注意不同版本间的安装方式不太一样②如果出现:Error:GPGcheckFAILED这是gpg验证不通过的原因,因为我是在centos8系统上安装mysql57-community-release-el7-10.noarc......
  • 8、mysql服务器参数设置
    general通用属性datadir=/var/lib/mysql 数据文件存放的目录socket=/var/lib/mysql/mysql.sock mysql.socket表示server和client在同一台服务器,并且使用localhost进行......
  • 5、mysql索引优化
    B+树想个问题,如果设计一个索引结构,使用哪种数据结构好呢?如果使用hash表肯定不太好,占用空间太大,每个数据下标位置是个链表如果使用二叉树会好一点,但不管是平衡二叉树还是......
  • 4、mysql执行计划
    如图:使用explain查询sql语句的执行计划参考列字段查看执行计划如果sql关连的比较多:通过id查看执行的具体顺序,如果id一样,就是从上往下依次执行的如果id不一样:id值越大......
  • 3、mysql数据类型的优化
    更小的通常更好应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没有低......
  • 对比分析PDO和Mysqli
    php操作mysql数据库,大家都知道有三种驱动,mysqlmysqlipdo,其中mysql在php7之后被废除了。不是本文重点。咱现在来分析一下mysqli和PDO的区别,下面一张表用来说明他们的区别 ......
  • 【MySQL】World-writable config file ‘.../mysqld.cnf‘ is ignored.
    今天有同事反映MySQL数据库在修改了配置信息后出现无法启动问题,如下所示:mysql:[Warning]World-writableconfigfile'/etc/mysql/mysql.conf.d/mysqld.cnf'isignored.......