自己做的demo--左连接

  

下面四张表是数据库中已经有的数据:

第一步:

1.left join左连接,left outer join 左外连接,只是写法不同,相同的概念。

2.左连接查出来的结果是一定包含left关键字左边的表的全部数据,同时右边的表中符合这个查询条件的字段,如上图在查询A跟B表的时候用的条件是a.id=b.id 所以查出来的结果是:a表的全部,b表中符合条件的数据,同时没有的会置为空。

第二步:加上c表,查询条件还是用的a.id=c.id,

当然a.id=b.id又是另外一种结果。

第三步试试用a表的age和d表的age查出来的结果是:看图

这个就是你最后问到的问题:a.age=d.age 用的不同的字段查询

如果是查询条件不一样的话,其实用法也是一样的。同样是查出来数据,只是这时候是

用a表的age字段跟d表的age字段比较。

查出来”前面几张表查出来的结果“跟d表中符合a.age=d.age条件的表

这是前面几张表查出来的结果

这是加上a.age=d.age

如果你细心的话会发现d表的话是查出来id是一样的,是数据库中的同一条数据

时间: 11-11

自己做的demo--左连接的相关文章

Oracle左连接、右连接、全外连接以及(+)号用法(转)

Oracle  外连接(OUTER JOIN) 左外连接(左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制) 对应SQL:LEFT/RIGHT/FULL OUTER JOIN. 通常省略OUTER关键字, 写成:LEFT/RIGHT/FULL JOIN. 在左连接和右连接时都会以一张A表为基础表,该表的内容会全部显示,然后加上A表和B表匹配的内容. 如果A表的数据在B表中没有记录. 那么在相关联的结果集行中列显示为空值(NULL). 对于外连接, 也可以使用“(+)

Oracle左连接、右连接、全外连接以及(+)号用法

阅读目录 1.准备工作 2.左外连接(LEFT OUTER JOIN/ LEFT JOIN) 3.右外连接(RIGHT OUTER JOIN/RIGHT JOIN) 4.全外连接(FULL OUTER JOIN/FULL JOIN) 1.准备工作 Oracle  外连接(OUTER JOIN)包括以下: 左外连接(左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制) 对应SQL:LEFT/RIGHT/FULL OUTER JOIN. 通常省略OUTER关键字, 写成:

sql 内连接 外连接 左连接 右连接

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行.       2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接.     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEF

数据库中的左连接(left join)和右连接(right join)区别

Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID 左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据. 简言之 Left Join影响到的是右边的表 Right Join select * from tbl1 Rig

mysql 左连接 自连接 例子

连接就是将两个表按照某个公共字段来拼成一个大表. 左连接就是在做连接是以左边这个表为标准,来遍历右边的表. 1.引子 左连接,自连接 SELECT * FROM test_visit t1 LEFT JOIN test_visit t2 ON t1.uid = t2.uid 结果: 2.问题 例子: 用户访问记录: 问题:查出看了湖南卫视但没有看北京卫视的用户信息 逻辑:先通过左连接将看了湖南卫视和北京卫视的查出来,然后再将看了湖南卫视但不在刚才查出的结果中的用户查出来. SELECT * FR

内连接,左连接,右连接,全外链接

(菜鸟一枚) 最近在看别人代码的时候,总是碰到诸如join on的SQL语句,上课那会儿老师也仔细的讲过, 单独的拿出来看的话也是很简单的,只是放在那样复杂的SQL语句中,阅读起来还是很费劲. 正好今天不怎么忙,查查资料在总结一下. 工作中,我们都习惯了只查询一张表中的数据,如果业务中需要去查询另外一张表中的数据时, 我们往往习惯于遍历查询的数据然后根据外键字段去查询另外一张表,这样做没有什么问题. 但是当我们需要关联3张表甚至4张表,或者在一些大型的项目中需要些一些非常复杂的SQL语句 的时候

左连接新认识

今天做数据核对时有个地方用了一下左连接,有个地方数据出来之后,吓我一跳,仔细研究后,才发现以前的认知错了.于是又做了个实验加以验证. 如下图:有两个表TableA和TableB,TableA里有两个字段(name,class),TableB有三个字段(name,subject,score). 问题:现在用左连接,Table为左表,连接字段为name,会查询出几条数据. select * from TableA left join TableB on TableA.name=TableB.name

Oracle 左连接、右连接、全外连接、(+)号作用 (转载)

Oracle  外连接 (1)左外连接 (左边的表不加限制)       (2)右外连接(右边的表不加限制)       (3)全外连接(左右两表都不加限制) 外连接(Outer Join) outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行.它还返回任何在第二个输入中没有匹配行的第一个输入中的行.外连接分为三种: 左外连接,右外连接,全外连接. 对应SQL:LEFT/RIGHT/FULL OUTER JOIN. 通常我们省略outer 这个关键字. 写成:LE

Oracle表与表之间的连接方式(内连接:inner join 、外连接 全连接: full outer join、左连接:left outer join 、右连接:right outer join、自然连接:natural join)

1 --内连接:INNER JOIN 它表示返回两个表或记录集连接字段的匹配记录,表示两个表中相互包含的部分 2 select * from student inner join sc on student.sno=sc.sno; 3 --外连接(全连接):包含左.右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行.不符合条件的,以空值代替. 4 --全连接:表示两个表组合在一起,左右不相匹配时使用空值替换 5 select * from student full outer join

SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)

SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有如下表: 一个为投票主表,一个为投票者信息表-记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准-1:如右接连 right join 或 right outer join:我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(voter)中存