mysql 7 种 join

一、

select * from A inner join B on A.key = B.key

二、

select * from A left join B on A.key = B.key

三、

select * from A right join B on A.key = B.key

四、

select * from A left join B on A.key = B.key where b.key is null

五、

select * from A right join B on A.key = B.key where A.key is null

六、

select * from A left join B on A.key = B.key
union
select * from A right join B on A.key = B.key

七、

select * from A left join B on A.key = B.key where B.key is null
union
select * from A right join B on A.key = B.key where A.key is null

原文地址:https://www.cnblogs.com/fangwu/p/8954731.html

时间: 2024-11-13 09:44:03

mysql 7 种 join的相关文章

Mysql七种 JOIN 连接

内连接 SELECT <select_list> FROM TableA A INNER JOIN TableB B ON A.Key = B.Key 左外连接 SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key = B.Key SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key = B.Key WHERE B.Key IS

MySQL 几种调式分析利器

原文:MySQL 几种调式分析利器 目录 pstack gdb strace perf pstack 获取堆栈信息 问题线程的定位 负载较低 mysql_pid=4522 pstack $mysql_pid>pstack.info pt-pmp对堆栈信息排序 pt-pmp pstack.info | less 也可以直接执行pt-pmp pt-pmp --pid 4522 如 10 __io_getevents_0_4(libaio.so.1),LinuxAIOHandler::collect(

【知识库】-数据库_MySQL 的七种 join

作者:haifeisi 文章出处: MySQL 的七种 join 创建数据库表'tbl_dept'和'tbl_emp' CREATE DATABASE db0206; USE db0206; CREATE TABLE `db0206`.`tbl_dept`( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30), `locAdd` VARCHAR(40), PRIMARY KEY (`id`) ) ENGINE=INNODB C

Oracle中的三种Join 方式

基本概念 Nested loop join: Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环. Sort merge join: 将两个表排序,然后再进行join. Hash join: 将两个表中较小的一个在内存中构造一个Hash 表(对Join Key),扫描另一个表,同样对Join Key进行Hash后探测是否可以join,找出与之匹配的行. 一张小表被hash在内存中.因为数据量小,所以这张小表的大多数数据已经驻入在内存中,剩下的少量数据

mysql几种性能测试的工具使用

mysql几种性能测试的工具使用 近期由于要比较mysql及其分支mariadb, percona的性能,了解了几个这方面的工具,包括:mysqlslap sysbench tpcc-mysql,做一个整理,备忘,分享 1.mysqlslap 安装:简单,装了mysql就有了 作用:模拟并发测试数据库性能. 优点:简单,容易使用. 不足:不能指定生成的数据规模,测试过程不清楚针对十万级还是百万级数据做的测试,感觉不太适合做综合测试,比较适合针对既有数据库,对单个sql进行优化的测试. 使用方法:

SparkSQL的3种Join实现

引言 Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余.更新容错等.而建立表和表之间关系的最佳方式就是Join操作. SparkSQL作为大数据领域的SQL实现,自然也对Join操作做了不少优化,今天主要看一下在SparkSQL中对于Join,常见的3种实现. SparkSQL的3种Join实现 Broadcast Join 大家知道,在数据库的常见模型中(比如星型模型或者雪花模型),表一般分为两种:事实表和维度表.维度表一般指固定的.变动较

MySQL关联left join 条件on与where不同,很实用,但要慎用

在mysql查询中,有时候业务复杂了,不得不写多表查询:很多程序猿前期都喜欢写子查询,因为子查询简单易懂,不容易出问题,但子查询的效率毕竟不如关联查询:关联查询我觉得是把双刃剑,在不懂它的机制时,还是慎用,我碰到过以前的同事,因为关联查询没写好,把奖品(查询活动中奖信息)发错的,还好大奖不是汽车: 网上摘的例子,比较好理解 MySQL关联left join条件on和where条件的区别表的结构 `products` CREATE TABLE `products` ( `pid` int(3) N

mysql几种性能测试的工具

mysql几种性能测试的工具使用 一.mysqlslap 安装:装了mysql就有了 作用:模拟并发测试数据库性能. 优点:简单,容易使用. 不足:不能指定生成的数据规模,测试过程不清楚针对十万级还是百万级数据做的测试,感觉不太适合做综合测试,比较适合针对既有数据库,对单个sql进行优化的测试. 使用方法: 可以使用mysqlslap --help来显示使用方法: Default options are read from the following files in the given ord

mysql的left join使用on与where筛选的差异

举例进行说明,我们现在有两个表,即商品表(products)与sales_detail(销售记录表).我们主要是通过这两个表来对MySQL关联left join 条件on与where 条件的不同之处进行讲述. 1.数据准备 创建products表并插入数据 drop table if exists products; CREATE TABLE `products` ( `pid` INT (3) NOT NULL auto_increment, `pname` VARCHAR (20) NOT