sql 左联 右联 内联的区别

如有表
a(col1,col2),
a,1
b,1

b(col1,col2)
a,3
c,2

内部联接是指只返回符合联接条件的资料,
如select * from a join b on a.col1 = b.col1 只返回符合条件a.col1 = b.col1的资料
结果如下
a,1,a,3

左外联接不仅返回符合条件的资料还返回左表中的资料
如select * from a left join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及a中其馀不符
合条件的资料,此时b中对应的资料为null
结果如下

a,1,a,3
b,1,null,null

右外联接不仅返回符合条件的资料还返回右表中的资料
如select * from a right join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及b中其馀不符合条件的资料,此时a中对应的资料为null

结果如下
a,1,a,3
null,null,c,2

时间: 2024-12-21 17:32:10

sql 左联 右联 内联的区别的相关文章

SQL联合查询(内联、左联、右联、全联)语法

SQL联合查询(内联.左联.右联.全联)语法 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join  .全联full outer join 的好处及用法. 联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构            (用户名,密码) userid(int) username            varchar(20) password       

HTML中块状,内联内联块元素区分

html的元素可分为三种:块状,行内,内联块 1.块状元素特点:1)一个块级元素独占一行2)元素的高度,宽度,行高以及顶部和底部边距都可以设置3)元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致)除非设定一个宽度如:div,h标签,p,form,ul,li 2.内联元素(行内元素)特点:1)和其他元素都在一行上2)元素的高度.宽度以及顶部和底部边距不可以设置3)元素的宽度就是它包含的文字或图片的宽度,不可改变如:span,a,i,em,strong 3.内联块元素就是同时具

mysql左联右联内联

在MySQL中由于性能的关系,常常要将子查询(Sub-Queries)用连接(join)来却而代之,能够更好地使用表中索引提高查询效率. 下面介绍各种join的使用,先上图: 我们MySQL常用的为左连接(left join).右连接(right join)和内连接(inner join)其他如图所示,余下的full join我们MySQL不支持,可用用左右连接和UNION做替代(下面举例介绍). 1.先建立测试表两张: CREATE TABLE  a ( aID int( 1 ) AUTO_I

inline(内联函数)学习笔记

1.inline 是一种“用于实现的关键字”,而不是一种“用于声明的关键字”. (1)错误示范 inline void fun(int a,int b); void fun(int a,int b) { } (2)正确示范 void fun(int a,int b); inline void fun(int a,int b) { } 2.慎用内联内联能提高函数的执行效率,为什么不把所有的函数都定义成内联函数?如果所有的函数都是内联函数,还用得着“内联”这个关键字吗?内联是以代码膨胀(复制)为代价

【转】inline内联函数

技术类笔试题50%都会问宏与inline的区别,自己去找找看? 1)宏替换发生在预编译 2)宏函数(如果可以这么叫的话)替换时不会检查参数,inline函数会检查 3)宏一定会发生替换,inline貌似不是强制的,编译器想不替换也没关系 4)宏替换时存在着一些不可避免的陷阱(参见C Traps and Pitfalls),例如传参时如果传了a++之类的可能会出错,inline就比较安全了. 宏有副作用,比如MAX(x++,y++) inline会不同, 慎用内联内联能提高函数的执行效率,为什么不

清楚利弊,用好内联

清楚利弊,用好内联 内联的语法 在类声明中定义方法: 内联方法放在类声明之外,但必须出现在头文件中,且内联方法声明中使用inline标识: 注:inline只是对编译器的建议,是否内联的决定权在编译器: 内联节省的开销 函数调用开销 调用间优化 优秀的编译器可是内联方法的边界难以区分(将代码内联后,对代码进行重新排列) 内联带来的问题 代码膨胀(空间开销) 由于代码膨胀带来的页面缓存命中率下降 编译时间增加 修改文件后相关文件都需要重新编译: 由于函数边界模糊,该内联函数遇到问题后不好排查: 内

C++学习之路 : 关于内联函数

(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int secend) {/****/}; inline函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数.与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义.当然,对于同一程序的不同文件,如果inline函数出现的话,其定义必须相同.对于由两个文件compute

C++ 内联函数inline

http://blog.csdn.net/u011327981/article/details/50601800 1.  内联函数 在C++中我们通常定义以下函数来求两个整数的最大值: 复制代码 代码如下: int max(int a, int b){ return a > b ? a : b;} 为这么一个小的操作定义一个函数的好处有: ① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多 ② 如果需要做任何修改,修改函数要比找出并修改每一处等价表达式容易得多

内联函数 inline

(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数.与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义.当然,对于同一程序的不同文件,如果inline函数出现的话,其定义必须相同.对于由两个文件comput