DQL语言之连接查询(mysql)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: DQL语言之连接查询(mysql)

sql92语法

含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询
笛卡尔乘积现象:表1 有m行,表2 有n行,结果是m*n行
分类:
  按年代分类
    sql92标准:仅支持内连接
    sql99标准【推荐】:支持内连接+外连接(除全外连接)+交叉连接
  按功能分类
    内连接:
      等值连接
      非等值连接
      自连接
    外连接:
      左外连接
      右外连接
      全外连接
    交叉连接
#sql92标准
#一、等值连接
#1、
a)多表等值连接的结果为多表的交集部分
b)n表连接,至少需要n-1个连接条件
c)多表的顺序没有要求
d)一般需要为表起别名
e)可以搭配前面介绍的所有子句使用,比如排序、分组、筛选
WHERE
#2、为表起别名
1)提高语句的简洁度
2)区分多个重名的字段
注意:如果为表起了别名,则查询的字段就不能使用原来的表名去限定
#3、两个表的顺序可以调换
#4、可以加筛选 and
#5、可以加分组查询
#6、可以加排序
#7、可以实现三表连接
#二、非等值连接
 
#三、自连接

sql99语法

语法: 
  select 查询列表
  from 表1 别名 【连接类型】
  join 表2 别名 
  on 连接条件
  【where 筛选条件】
  【group by 分组】
  【having 筛选条件】
  【order by 排序列表】
  
分类:
内连接:inner
外连接:
  左外:left【outer】
  右外:right【outer】
  全外:full【outer】
交叉连接: cross
#一>内连接
语法: 
  select 查询列表
  from 表1 别名
  inner join 表2 别名
  on 连接条件;
分类:
  等值
  非等值
  自连接
  
等值连接和自连接的区别:
  1)等值连接必须要有等值的条件,两个关系可以没有相同的属性列(值一样就可以)
  2)自然连接必须要有相同的属性列(名字和值都要一样)才能进行,且等值连接之后要去除相同的属性列
特点:
  a)可以添加排序、分组、筛选
  b)inner可以省略
  c)筛选条件放在 where 后面,连接条件放在 on 后面,提高分离性,便于阅读
  d)inner join 连接和sql92语法中的等值连接效果是一样的
#二>外连接
应用场景:用于查询一个表中有,另一个表中没有的记录
特点: 
  1)外连接的查询结果为主表中的所有记录
    如果从表中有和它匹配的,则显示匹配的值
    如果从表中没有和它匹配的,则显示null
    外连接查询结果 = 内连接结果 + 主表中有而从表中没有的记录
  2)左外连接, left join左边的是主表
     右外连接, right join右边的是主表
  3)左外和右外交换两个表的顺序,可以实现同样的效果
  4)全外连接 = 内连接 + 表1中有但表2中没有的 + 表2中有但表1中没有的
#三>交叉连接(笛卡尔乘积)
#sql92  sql99
功能: sql99 支持的较多
可读性: sql99 实现连接条件和筛选条件的分离,可读性较高

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】:分组查询、排序查询、分页查询、以及执行顺序
【MySQL】:分组查询、排序查询、分页查询、以及执行顺序
13 0
|
1天前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 1
|
1天前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
2天前
|
SQL 分布式计算 关系型数据库
云原生数据仓库产品使用合集之可以把ADB MySQL湖仓版数据库做成页面查询的数据库吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4天前
|
关系型数据库 MySQL 数据挖掘
【MySQL】多表连接查询
【MySQL】多表连接查询
|
4天前
|
存储 关系型数据库 MySQL
{MySQL} 数据库约束& 表的关系& 新增&&删除& 修改& 查询
{MySQL} 数据库约束& 表的关系& 新增&&删除& 修改& 查询
12 0
|
4天前
|
安全 关系型数据库 MySQL
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
14 3
|
7天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
11天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
36 4
|
1天前
|
存储 关系型数据库 MySQL
linux安装MySQL8.0,密码修改权限配置等常规操作详解
linux安装MySQL8.0,密码修改权限配置等常规操作详解