mysql_连接查询
一、含义
当查询中涉及到了多个表的字段,需要使用多表连接
select 字段1,字段2
from 表1,表2,...;笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现完全连接
如何解决:添加有效的连接条件二、分类按年代分类:sql92:等值非等值自连接也支持一部分外连接(用于oracle、sqlserver,mysql不支持)sql99【推荐使用】内连接等值非等值自连接外连接左外右外全外(mysql不支持)交叉连接三、SQL92语法
1、等值连接
语法:select 查询列表from 表1 别名,表2 别名where 表1.key=表2.key【and 筛选条件】【group by 分组字段】【having 分组后的筛选】【order by 排序字段】特点:① 一般为表起别名②多表的顺序可以调换③n表连接至少需要n-1个连接条件④等值连接的结果是多表的交集部分2、非等值连接
语法:select 查询列表from 表1 别名,表2 别名where 非等值的连接条件【and 筛选条件】【group by 分组字段】【having 分组后的筛选】【order by 排序字段】
3、自连接语法:select 查询列表from 表 别名1,表 别名2where 等值的连接条件【and 筛选条件】【group by 分组字段】【having 分组后的筛选】【order by 排序字段】四、SQL99语法
1、内连接
语法:
select 查询列表
from 表1 别名
【inner】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;特点:
①表的顺序可以调换
②内连接的结果=多表的交集
③n表连接至少需要n-1个连接条件分类:
等值连接
非等值连接
自连接2、外连接
语法:
select 查询列表
from 表1 别名
left|right|full【outer】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;
特点:
①查询的结果=主表中所有的行,如果从表和它匹配的将显示匹配行,如果从表没有匹配的则显示null
②left join 左边的就是主表,right join 右边的就是主表full join 两边都是主表
③一般用于查询除了交集部分的剩余的不匹配的行3、交叉连接语法:
select 查询列表
from 表1 别名
cross join 表2 别名;特点:
类似于笛卡尔乘积
mysql_连接查询相关推荐
- MySQL 学习笔记(15)— 连接查询(内连接、左外连接、右外连接、全外连接、交叉连接、自然连接等)
本文参考:https://gitbook.cn/gitchat/column/undefined/topic/5db92b68a9c3a53bc3800eff SQL 支持的连接查询包括内连接.外连接 ...
- mysql支不支持fulljoin_mysql不支持full join的另一种解决办法 和根据多个表中的相同分组来连接查询...
先看两张表: 1. user表: 2. animal表: 现在我想要查询各省市区对应的人名和动物名,即根据省市区来连接两张表. 考虑到user表中有的省市区可能在animal表中没有,animal表中 ...
- 使用mysql内连接查询年龄_Mysql的连表查询
若一个查询同时涉及到两个以上的表,称为连表查询 准备表 create table department( id int auto_increment PRIMARY KEY, name varchar ...
- MySQL数据库右连接查询right join ... on
1. 右连接查询 以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充. 右连接查询效果图: 右连接查询语法格式: select 字段 from 表1 right join ...
- MySQL数据库左连接查询left join ... on
1. 左连接查询 以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充 左连接查询效果图: 左连接查询语法格式: select 字段 from 表1 left join 表 ...
- MySQL数据库内连接查询inner join...on
1. 连接查询介绍 连接查询可以实现多个表的查询,当查询的字段数据来自不同的表就可以使用连接查询来完成. 连接查询可以分为: 内连接查询 左连接查询 右连接查询 自连接查询 2. 内连接查询 查询两个 ...
- oracle连接查询详解
连接查询是数据库查询语句中使用频率很高的查询方式,下面根据Oracle提供的官方文档学习一下连接查询. 一 Equijoins 等值连接 等值连接是条件连接在连接运算符为"="号时 ...
- 3.4.2 连接查询
3.4.2 连接查询 一.等值 非等值查询 等值连接 33 查询 每个学生 及其 选修课 的 情况.note select student.* , sc.* from sc, stud ...
- SQL多表连接查询(具体实例)
本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图例如以下: 表2:course 截图例如以下: (此时这样建表仅仅是为了演示连接SQL语句.当然实际开发中我们 ...
- 小贝_mysql select连接查询
select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算 ...
最新文章
- Make it Divisible by 25 思维
- 如果服务器开机显示NObootable,电脑不能开机提示No bootable device怎么办?
- 《PHP和MySQL Web开发从新手到高手(第5版)》一1.7 万事俱备,摩拳擦掌
- myeclipse springboot 运行内存溢出_springboot学习心得 - aowumao
- python selenium自动化(三)Chrome Webdriver的兼容
- 月薪30K程序员花了一个小时,用c++做出经典扫雷游戏 !
- vs.php在win2008+vs2008下开发调试配置
- 学计算机还要写作文吗,第一次学电脑作文3篇
- Ubuntu下安装Rabbitmq和golang环境
- 使用decode函数
- jni数组使用(一)
- hololens与混合现实开发pdf_增强现实与虚拟现实:过去和未来
- python编程手机_手机最强Python编程神器,在手机上运行Python
- 卸载mySQL数据库
- 威斯敏斯特教堂(西敏寺)墓碑上的话(WestMinster Abbey,When I was young and free...,修身齐家治国平天下)...
- 资源教程[外贸人zencart自助建站视频教程]:第四课(5)zencart更换模板
- Windows客户端开发--获取系统mac地址(使用WMI)
- 数仓建设之IP库的匹配
- HuaWei ❀ IP源防护概述
- 腾讯云服务器增加网卡,腾讯云服务器(CVM主机)绑定多个弹性网卡和IP地址的方法...