-- 左连接(返回包括左表中的所有记录和右表中联结字段相等的记录 )
select a.rid, a.picname, b.trpid, b.rid, b.picname, b.picurl
from tc_restaurants a
left join tc_restaurants_pictures b on a.rid = b.rid
-- 右链接( 返回包括右表中的所有记录和左表中联结字段相等的记录)
select a.rid, a.picname, b.trpid, b.rid, b.picname, b.picurl
from tc_restaurants_pictures b
right join tc_restaurants a on a.rid = b.rid
-- 等值连接(只返回两个表中联结字段相等的行)
select a.rid, a.picname, b.trpid, b.rid, b.picname, b.picurl
from tc_restaurants_pictures b
inner join tc_restaurants a on a.rid = b.rid
-- 全连接(返回两个表中所有信息)
select a.rid, a.picname, b.trpid, b.rid, b.picname, b.picurl
from tc_restaurants_pictures b
full join tc_restaurants a on a.rid = b.rid
-- 等值连接(只返回两个表中联结字段相等的行)
select a.rid, a.picname, b.trpid, b.rid, b.picname, b.picurl
from tc_restaurants a, tc_restaurants_pictures b
where a.rid = b.rid
-- 自连接(比如一张表中有两个字段,一个字段是员工编号,一个字段是领导编号,
-- 员工字段编号中包含领导字段编号,所以可以当做两张表,做自关联,只要别名不一样就ok了)
SELECT worker.ename, boss.ename
FROM emp worker, emp boss
WHERE worker.mgr = boss.empno
AND worker.ename = 'FORD';
内连接(等值连接和自然连接)
Oracle natural join(自然连接)
虽然natural join(自然连接)实际上的用的比较少,但实际上这个连接是非常有用的,若能经常使用一下,实际上是非常方便的。
自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。
来看一下自然连接的例子。
Select emp.ename,dept.dname
From emp natural join dept;
这里我们并没有指定连接的条件,实际上oracle为我们自作主张的将,emp中的deptno和dept中的deptno做了连接。
也就是实际上相当于
Select emp.ename,dept.dname
From emp join dept on emp.deptno = dept.deptno;
因为这两张表的这两个字段deptno的类型个名称完全相同。所以使用natural join时被自然的连接在一起了。
另外:
1.如果做自然连接的两个表的有多个字段都满足有相同名称个类型,那么他们会被作为自然连接的条件。
2.如果自然连接的两个表仅是字段名称相同,但数据类型不同,那么将会返回一个错误。
3.由于oracle中可以进行这种非常简单的natural join,我们在设计表时,应该尽量在不同表中具有相同含义的字段使用相同的名字和数据类型。以方便以后使用natural join
相关推荐
SQL 连接的四种类型:左外连接、右外连接、全连接、内连接 在 SQL 中,连接(JOIN)是一种非常重要的概念,它允许我们从多个表中检索数据。连接可以分为四种类型:左外连接、右外连接、全连接和内连接。每种连接都...
右外连接与左外连接相反,返回右表的所有行,即使在左表中没有匹配的行。对于左表中没有匹配的行,结果集中的相应列将是NULL。 ```sql SELECT authors.*, publishers.* FROM authors RIGHT JOIN publishers ...
根据连接的方向和目的,可以分为几种不同的类型:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、内连接(INNER JOIN)以及全外连接(FULL JOIN)。下面将详细介绍这四种连接类型,并通过示例来解释它们之间的区别...
sql左连接,右连接,内连接,全连接详细讲解
本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...
主要的连接类型有内连接、左外连接、右外连接和全连接。理解这些连接方式的区别有助于设计更有效的查询,以满足不同的数据需求。 1. **内连接(Inner Join)**: 内连接只返回那些在两个表中都存在匹配的行。...
右连接也称为右外连接,用于从右侧表中检索记录,返回右侧表中的所有记录,并将左侧表中的匹配记录附加到右侧表中。如果左侧表中没有匹配记录,将返回空值。右连接的基本语法为: SELECT * FROM 左侧表 RIGHT JOIN ...
在这个文档中,主要介绍了四种类型的SQL连接:内连接、左连接、右连接和自连接。这些连接类型都是在查询时将数据从一个表与另一个表关联起来的关键方法。 首先,内连接(INNER JOIN)只返回两个表中匹配的行。这...
当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...
SQL左外连接,右外连接,全连接,内连接四种连接的差异借鉴.pdf
根据连接的方式不同,可以分为左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)、全连接(FULL JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。每种连接类型都有其特定的应用场景和使用...
以下是四种主要的连接类型:内连接、左外连接、右外连接和全连接。 1. **内连接(INNER JOIN)**: 内连接是基于两个表之间的匹配列的值进行的连接,它只返回两个表中存在匹配的行。例如,在`authors`和`...
外连接分为三种类型:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。 **语法**: - **左外连接**: ```sql SELECT column_name(s) FROM table1 LEFT OUTER JOIN ...
SQL中的四种连接方式是数据库操作中非常重要的概念,它们分别是内连接、左外连接、右外连接和全连接。理解这四种连接可以帮助我们更有效地从多个表中提取所需信息。 1. **内连接(Inner Join)** 内连接是最常见的...
根据连接的方式和结果,SQL连接可以分为内连接、左连接、右连接、全连接和交叉连接等多种类型。 内连接 内连接是最基本的连接类型,它将两个表格中的数据根据某个条件连接起来。内连接可以分为等值连接、不等值...
通过对比可以看出,Oracle在实现左(外)、右(外)、全(外)以及内连接时,其语法与SQL标准有所不同,尤其是在左(外)和右(外)连接上使用了独特的“+”符号来表示可选项。对于全(外)连接,Oracle通过组合左(外)和右(外)...
SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
SQL语言作为数据库的标准操作语言,提供了多种方式来进行表间的关联查询,其中最为常见的是内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL OUTER JOIN)。本文将深入浅出地介绍...
例如,通过左连接和右连接的组合,可以实现全连接(Full Join),获取两个表的所有记录。同时,还可以结合使用WHERE子句和聚合函数(如COUNT, SUM, AVG等)来过滤和统计数据。 了解并熟练掌握这些连接方式,对于...