sql语句right join用法详细介绍

表A记录如下:

 代码如下 复制代码
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115

表B记录如下:

 代码如下 复制代码
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408

sql语句如下:

 代码如下 复制代码
SELECT * FROM a
RIGHT JOING b
ON a.aID = b.bID

结果如下:

 代码如下 复制代码

aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408

(所影响的行数为 5 行)

结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

注意on与where区别

ON语句其实和WHERE语句功能大致相当,只是这里的ON语句是专门针对联结表的,ON语句后面的条件的要求和书写方式和WHERE语句的要求是一样的,大家基本上可以把ON当作WHERE用。

时间: 2024-12-30 21:35:18

sql语句right join用法详细介绍的相关文章

MySQL SQL语句之join过滤注意事项

对于SQL语句的JOIN语句,大家并不陌生.关于其中的where语句中进行内容过滤还是在 On 语句中或者having进行过滤,这个是值得注意的. 案例:找出某段时间内注册的新用户,没有通过新手任务当中具体哪一步任务,统计 其中涉及到两张表 用户基础表:user_base,  user_id, 注册时间 created_at 任务表: user_id,task_id,task_status A 语句: select  min(b.task_id) life,task_status,  a.use

着急实现-下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!!

问题描述 下面的SQL语句怎么解释,详细点,求大神赐教,急急急急急急!!!!! select convert(varchar(2),采集时间,108),count(1) from 监测执行表 (nolock) where 采集时间 > convert(varchar(10),getdate(),120) group by convert(varchar(2),采集时间,108) order by 1 解决方案 采集时间 是今天的,按小时统计数量http://www.w3school.com.cn

java中sql语句的具体用法,增删查改

问题描述 java中sql语句的具体用法,增删查改 java中sql语句的具体用法,增删查改,如何用动态的方法改变查找的位置,输出的位置,判断这个数据是否存在于数据库中 解决方案 这问题有自己思考过么 解决方案二: https://www.baidu.com/link?url=jykznQpWlQYTk0AcnMob3UN-B_iYzOccrutv00x5SAaAVNOYO8xApShvC6wqWeG9NYgnkacMB-lvt08dSMc68a&wd=&eqid=a253ae6e0001

温习sql语句中JOIN的各种操作(SQL2005环境)

温习sql语句中JOIN的各种操作(SQL2005环境) 为了方便测试,先建二个基本表T_Employee(员工表),T_Region(地区表) Sql语句如下: CREATE TABLE [dbo].[T_Employee](  [ID] [int] NULL,  [Name] [nvarchar](50)  NULL,  [RegionID] [int] NULL ) ON [PRIMARY] CREATE TABLE [dbo].[T_Region](  [ID] [int] NULL,

PHP中error_reporting函数用法详细介绍

PHP中error_reporting函数用法详细介绍 PHP中对错误的处理会用到error_reporting函数,看到最多的是error_reporting(E_ALL ^ E_NOTICE),这个是什么意思呢?下面我们具体分析error_reporting函数. 定义用法 error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 report_level 未指定,当前报错级别将被返回.下面几项是

SQL语句Left join 中On和Where的用法区别

原文地址:点击打开链接 SQL语句如下: SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.id = 表2.id AND 表2.Name != 'ff' WHERE 表1.NAME != 'aa'        步骤1:返回笛卡尔积(SELECT * FROM 表1 CROSS JOIN 表2) 步骤2:应用ON筛选器(当前的条件为  表1.id = 表2.id AND 表2.Name != 'ff') 步骤3:添加外部行 这一步只对OUTER JOIN起作用,如果是LEF

SQL JOIN 连接详细介绍及简单使用实例

SQL JOIN 连接 SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN). SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行. 让我们看看选自 "Orders" 表的数据: OrderID CustomerID OrderDate 10308 2 1996-09-18 10309 37 1996-09-19 10310 77 1996-09-20 然后

LINQ体验(6)——LINQ to SQL语句之Join和Order By

Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多 关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明: 在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择)和 GroupJoin(分组Join查询). 该扩展方法对两个序列中键匹配的元素进行 inner join操作 SelectMany 说明:我们在写查询语句时,如果被翻译 成SelectMany需要满足2个条件.1:查询语句中没有join和into,2:必须出现

SQL Server 数据库的备份详细介绍及注意事项_Mysql

SQL Server 备份 前言 为什么要备份?理由很简单--为了还原/恢复.当然,如果不备份,还可以通过磁盘恢复来找回丢失的文件,不过SQL Server很生气,后果很严重.到时候你就知道为什么先叫你备份一次再开始看文章了.∩__∩.本系列将介绍SQL Server所有可用的备份还原功能,并尽可能用实例说话. 什么是备份?SQL Server基于Windows,以文件形式存放资料,所以备份就是Windows上SQL Server相关文件的一个某个时间点的副本.根据备份类型的不同,副本的种类和内