SQL中的inner join, left join, right join, full join

创建两个测试表并且输入相关值
create table test_a(
aid int,
aNum varchar(255)
);
create table test_b(
bid int,
bNum varchar(255)
);

insert into test_a(aid, aNum)
values
(1, 'a2015001'),
(2, 'a2015002'),
(3, 'a2015003'),
(4, 'a2015004'),
(5, 'a2015005');
insert into test_b(bid, bNum)
values
(1, 'b160200p'),
(2, 'b2015002b'),
(3, 'b2015003b'),
(4, 'b2015004b'),
(8, 'b2015008');

inner join

等值连接, 只返回两个表中连接字段相等的行
select * from test_a inner join test_b on aid = bid;
结果表只返回两个表中字段相等的行

left join

左连接 返回包括左表中的所有记录和右表中联结字段相等的记录
select * from test_a left join test_b on aid = bid;
返回包括左表中的所有记录和右表中联结字段相等的记录,没值用null填充
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

right join

右联接 返回包括右表中的所有记录和左表中联结字段相等的记录
select * from test_a right join test_b on aid = bid;
返回包括右表中的所有记录和左表中联结字段相等的记录,没值用null填充
和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

full join

全联接 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行,相当于left join 和right join的并集
select * from test_a full join test_b on aid = bid;
返回两个表的所有记录
返回两个表的所有记录,没有的值用null补充

sql的基本语句的更多相关文章

  1. SQL高性能查询优化语句(总结)

    SQL 高性能查询优化语句,一些经验总结 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where ...

  2. 如何判断一条sql(update,delete)语句是否执行成功

    如何判断一条sql(update,delete)语句是否执行成功 catch  (SQLException    e)  {  }  catch不到错误应该就成功了.   ============== ...

  3. SQL数据库基本语句

    SQL特点--> 1)综合统一.SQL是集数据定义.数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动. 2)高度非过程化.SQL语言是高度非过程化语言,当进行数据操作时 ...

  4. 利用 SQL Monitor 查看语句运行状态步骤

    利用 SQL Monitor 查看语句运行状态步骤 1.确定语句被 SQL Monitor 监控 SQL> SELECT * FROM GV$SQL_MONITOR WHERE sql_id=' ...

  5. SQL SELECT INTO 语句

    SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用 ...

  6. discuz 万能SQL查询调用语句写法

    首先在最底层source\class\table写入底层安全调用文件例如:table_common_friendlink.php 代码: <?php /** * [Discuz!] (C)200 ...

  7. 将EXCEL中的列拼接成SQL insert插入语句

    工作中经常需要将EXCEL文件中的数据导入到各种数据库,但是对于不熟悉数据库的人来说,如果直接使用命令执行导入,这无疑是一个难题,也是一个风险.这里我们直接在EXCEL文件中拼接成标准的SQL ins ...

  8. SQL 常用基础语句

    1.SQL SELECT 语句 语法:SELECT    列名称    FROM    表名称 2.SQL SELECT DISTINCT 语句 语法:SELECT    DISTINCT    列名 ...

  9. SQL 2008执行语句遇到内存不足(1)——error 701

    原文:SQL 2008执行语句遇到内存不足(1)--error 701 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/17/sql-2008-e ...

  10. SQL 无限级分类语句

    原文:SQL 无限级分类语句 原表数据为: 此处用到了with关键字,在程序中也可以用递归实现,但觉得还是没有一条sql方便 with tb (ID,Name,ParentID,Sort) as( s ...

随机推荐

  1. jenkins中slave节点连接的两种常用方式

    我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master ...

  2. 51nod--1134 最长递增子序列 (动态规划)

    题目: 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行: ...

  3. 【原创】Linux基础之查看linux发行版以及内核版本

    redhat查看发行版 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 查看内核版本 # uname -aLinux $h ...

  4. c4b和c4f的区别

    1. cc.c4b的参数直接填rgba的值. 2 .cc.c4f(r,g,b,透明度),把rgb值填进去,会发现颜色不对,需要把rgb值除以255,所以最终转换公式是: cc.c3b(r,g,b) = ...

  5. Linux安装配置git

    1.查看git安装版本 git version 2.查看git安装位置 whereis git 3.yum安装git yum install git 4.生成ssh key cd /root/.ssh ...

  6. matplotlib 无法显示中文和负号的解决办法

    matplotlib无法显示中文和负号解决办法

  7. ng2-translate 国际化中 配置文件添加变量

    1. <li> {{ 'Withdrawmoney.tipsP1' | translate:{value:assets} }} </li> 2. "Withdrawm ...

  8. json server服务器

    json文件可以理解为数据库 一.json-server快速搭建RESTAPI 安装: sudo cnpm install -g json-server 启动(使用): json-server指向js ...

  9. HTML 中的预留字符(如标签的小于号 < )必须被替换为字符实体( &lt; )。 不间断空格(&nbsp;)

    1. 参考 HTML 字符实体 Python处理HTML转义字符 比方说一个从网页中抓到的字符串 html = '<abc>' 用Python可以这样处理: import HTMLPars ...

  10. .net core 设置访问静态资源