sql所有连接解释

--内连接是左边匹配右边表,有对应的则显示
--左连接是已左边表作为基准匹配右边表,如果右边表没有对应的则为null
--右连接是已右边表作为基准匹配左边表,如果左边表没有对应的则为null
--完全连接是左边表匹配右边表,如果有则显示没有则显示为null
--交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。

--1)内连接
select a.*,b.* from ATABLE a inner join BTABLE b on a.id=b.parent_id ;
--2)左连接
select a.*,b.* from ATABLE a left join BTABLE b on a.id=b.parent_id;
--3) 右连接
select a.*,b.* from ATABLE a right join BTABLE b on a.id=b.parent_id;
--4)完全连接
select a.*,b.* from ATABLE a full join BTABLE b on a.id=b.parent_id;
--交叉联接
SELECT a.*,b.* FROM ATABLE a CROSS JOIN BTABLE b ;
--自联接
SELECT a.*,b.* FROM ATABLE a,BTABLE b WHERE a.id=b.parent_id;
--2)左外连接
select a.*,b.* from ATABLE a left OUTER join BTABLE b on a.id=b.parent_id;
--3) 右外连接
select a.*,b.* from ATABLE a right OUTER join BTABLE b on a.id=b.parent_id;
--4)完全外连接
select a.*,b.* from ATABLE a full OUTER join BTABLE b on a.id=b.parent_id;

a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系

时间: 2024-11-07 15:26:02

sql所有连接解释的相关文章

转!!SQL左右连接中的on and和on where的区别

原博文地址:http://blog.csdn.net/xingzhemoluo/article/details/39677891 原先一直对SQL左右连接中的on and和on where的区别不是太了解,直到在网上看到了下面这段话才豁然开朗. 在使用left join时,on and和on where条件的区别如下:  1.on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录.  2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有le

sql关键字的解释执行顺序

sql关键字的解释执行顺序 分类: 笔试面试总结2013-03-17 14:49 1622人阅读 评论(1) 收藏 举报 SQL关键字顺序 表里面的字段名什么符号都不加,值的话一律加上单引号 有一次笔试考到了关于SQL关键字执行顺序的知识点. 我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?我么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要

如何用PL/SQL Developer连接ORACL数据库

之前因为项目的原因需要使用ORACL数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接ORACL数据库. 第一步 安装ORACL Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.ORACL可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要. 2.

SQL Server 连接字符串和身份验证 学习

SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....同样,连接字符串必须包含SQL Server实例名称:          Data Source=ServerName;          使用本地的SQL Server(localhost),如果想要使用

ORACLE11g下如何利用SQL DEVELOPER连接上数据库?

最近在学习数据库的相关内容,在sqlplus敲了几天命令行窗口后,想尝试一下用sql developer 连接上数据库但一直没有实现.在网上查询了相关资料后现在终于弄好了,就来写下此篇博文与大家分享!接下来给大家分步骤介绍. 1.打开sql developer后配置java.exe路径.这点装过ecilipse的应该都很熟悉了,在此就不细说了.如果不记得自己java环境的安装路径推荐大家可以下载everything这款window下非常好用的文件搜索软件. 2.打开后我们就可以看到这样的界面.

SQL左连接、右连接和内连接的简单示例

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录: right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join(等值连接) 只返回两个表中联结字段相等的行:举例如下: -------------------------------------------- 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录

[转] oracle 数据库 SQL plus 连接方法

http://hi.baidu.com/zzy382/item/a5b197f97a38e01ba7298832 之前电脑上安装了一个 Oracle  有一段时间没用,就把密码给忘了,按上面链接里的操作,重置密码成功,步骤如下: connect system/oracle以 system 用户 oracle 密码连接 在进入 sql plus 界面后输入 / as oraclesys 回车即以管理用户登录.然后读取 dba_users 表内容可以 alter user system identi

Oracle---使用PL/SQL Developer连接Oracle12C(64位)版本

Oracle---使用PL/SQL Developer连接Oracle12C(64位)版本 1.安装Oracle 12c 64位 2.安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0) 下载instantclient-basic-nt-12.1.0.1.0.zip,将其解压至Oracle安装目录的Product下(本机命名为:instantclient_12 _1):C: \app\orcl\product\instantclient _12