sql语句中两表连结方式主要有一下3中,需要注意的时在进行多表连结的时候必须要用 on 指定表中的某个字段作为连结的条件

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 -----结果集的条目数以左表为准
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录------结果集的条目数以右表为准
inner join(等值连接) 只返回两个表中联结字段相等的行------结果集的条目数为联结字段相等的行数

看一下例子

Table_1

1             t1            张三            男         
2             t1            小白            女         
3             t1            王子            男         
4             t1            王小            女         
5             t1            李白            男         
6             t1            赵虎            男         
7             t1            张果            女

-----------------------------------------------------------------------------------------

Table_2

1             t2            王五        
2             t2            小五        
4             t2            王五        
5             t2            赵雪        
8             t2            张龙

------------------------------------------------------------------------------------------

left join

select * from Table_1 left join Table_2 on Table_1.ID = Table_2.ID

结果是:

1             t1            张三            男             1             t2            王五        
2             t1            小白            女             2             t2            小五        
3             t1            王子            男             NULL    NULL    NULL
4             t1            王小            女             4             t2            王五        
5             t1            李白            男             5             t2            赵雪        
6             t1            赵虎            男             NULL    NULL    NULL
7             t1            张果            女             NULL    NULL    NULL

--------------------------------------------------------------------------------------------

right join

SELECT * FROM Table_1 right join Table_2 on Table_1.ID = Table_2.ID

结果是:

1             t1            张三            男             1             t2            王五        
2             t1            小白            女             2             t2            小五        
4             t1            王小            女             4             t2            王五        
5             t1            李白            男             5             t2            赵雪        
NULL      NULL      NULL         NULL         8             t2            张龙

--------------------------------------------------------------------------------------------

inner join

select * from Table_1 inner join Table_2 on Table_1.ID=Table_2.ID

结果是:

1             t1            张三            男             1             t2            王五        
2             t1            小白            女             2             t2            小五        
4             t1            王小            女             4             t2            王五        
5             t1            李白            男             5             t2            赵雪

----------------------------------------------------------------------------------------------

总结:left join与right join 的区别主要是在于基础表是左表还是右表,对于不满足基础表联结字段的行将会有null填充

语法:from Table_1 LEFT JOIN Table_2 ON Table_1.columnName compopr Table_2.columnName
columnName必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr指定的运算符有:"=", "<", ">", "<=", ">=" 或 "<>"

----------------------------------------------------------------------------------------------

这次先分享到这里,有不完整之处还请广大网友进行补充,过段时间再分享多表联结查询不重复的数据

SQL语句值left join,right join,inner join的用法相关推荐

  1. Sql语句Convert函数获取时间格式的一种用法

    Sql语句查询某种时间格式  通过convert函数处理查询结果 这是函数的参数类型: eg: select OutPH,CONVERT(Time(0),Time,8) as Time from [G ...

  2. SQL语句中union all和union的区别以及用法

    起因 一次渗透过程中目标使用的SQL Server有联合注入,发现使用union all 不报错,union报错,同时还有一个就是字段的类型,发现类型不对也会报错,贴张图 union+all+sele ...

  3. SQL语句中JOIN的用法

    记录:257 写SQL最高境界:SELECT * FROM 表名.当然这是一句自嘲.探究一下SQL语句中JOIN的用法,直到经历这个场景,变得想验证一下究竟. 一.场景 把关系型数据库A中表TEST_ ...

  4. mysql 把一个字段的值_mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法...

    需求:把一个表某个字段内容复制到另一张表的某个字段. 实现sql语句1: UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_fold ...

  5. 定位及优化SQL语句的性能问题

    一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型.一个好的sql语句至少 ...

  6. 【SQL高级】,不得不掌握的SQL语句,SQLserver MySQL

    一.SQL SELECT TOP, LIMIT, ROWNUM 子句 SELECT TOP 子句用于指定要返回的记录数量. SELECT TOP子句在包含数千条记录的大型表上很有用.返回大量记录会影响 ...

  7. mysql 索引巧用,SQL语句写得忒野了

    今天来分享几个MySQL常见的SQL错误**(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题,导致写出来的SQL语句效率低下,所以我们也可以自省自检一下. 1. LI ...

  8. sql exists用法_新同事不讲武德,这SQL语句写得忒野了

    来源 | developer.aliyun.com/article/72501今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题 ...

  9. 小黑小波比.sql语句截取字符串的子串

    2019独角兽企业重金招聘Python工程师标准>>> 1.当参数值1112324312423,在表中有11代表北京1101代表东城110105代表街道.所以要根据参数查出完整的地区 ...

  10. azure不支持哪些语句 sql_新同事不讲武德,这SQL语句写得忒野了

    前言 MySQL在去年年仍然保持强劲的数据库流行度增长趋势.越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来.但也存在部分客户在使用MySQL数据库的过程 ...

最新文章

  1. [WebApp开发]基础教程-Google官方文档-第四篇
  2. HTML(六)------ CSS
  3. R开发(part7)--环境空间
  4. How applications are staged in SAP Cloud Platform CloudFoundry environment
  5. Google编程之夏入围项目公布
  6. Typora图片上传和加载问题解决方案
  7. 你的努力终将被光芒环绕
  8. 朋友股票亏惨了,我一怒用Python爬取了证券最新数据
  9. 抓包工具charles青花瓷的基本使用(android)
  10. error: Exited sync due to fetch errors
  11. python pandas 增加一列_Python Pandas 向DataFrame中添加一行/一列
  12. 基于uniapp的个人课程表
  13. DrawIO怎么画出卡通效果的图?
  14. C# 获取url 状态,获取重定向(HttpWebRequest)
  15. 快速实施中小企业ERP 不再繁冗而复杂
  16. 函数图像变换的规律,以一元函数和二元函数为例来说明,对多元函数同样适用。
  17. 从谷歌流感趋势谈大数据分析的光荣与陷阱
  18. 四川电信IPTV路由器DHCP鉴权登陆自动获取IP
  19. PT2001 / PT2000 诊断功能
  20. audio focus

热门文章

  1. 超实用!!MySQL数据库——Amoeba读写分离
  2. mysql vga怎么使用,mysql explain 详解
  3. 电子计算机与其它计算机工具的本质区别是,电子计算机与其他计算工具的本质区别是...
  4. noip 2013 积木游戏
  5. 【 优秀的无干扰文本写作工具】Ommwriter for Mac 1.57
  6. R语言入门(第一篇)--R软件基本操作
  7. Python中字典的常用方法
  8. python怎么过滤标点符号大全_一行Python代码过滤标点符号等特殊字符
  9. springboot接口慢_Springboot tomcat 启动慢 响应时间超长 问题解决
  10. 普罗米修斯 Prometheus