SQL语法中的JOIN类型

这个要弄明白哟。。CROSS JOIN, NATURAL, INNER JOIN ,LEFT OUTER JOIN(LEFT JOIN)

等等。。。。带LEFT,RIGHT的必为OUTER,所以OUTER可省。

INNER的行数只能是小于等于OUTER的行数。

谁在左,则LEFT依谁。返回行业和它一致。

RIGHT亦然。。

SELECT a.account_id, a.cust_id, b.name FROM account a LEFT OUTER JOIN business b ON a.cust_id = b.cust_id;
SELECT a.account_id, a.cust_id, i.fname, i.lname FROM account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id;
SELECT a.account_id, a.product_cd, CONCAT(i.fname, ' ', i.lname) person_name, b.name business_name FROM account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id LEFT OUTER JOIN business b ON a.cust_id = b.cust_id;
SELECT account_ind.account_id, account_ind.product_cd, account_ind.person_name, b.name business_name FROM (SELECT a.account_id, a.product_cd,a.cust_id, CONCAT(i.fname, ' ', i.lname) person_name FROM account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id) account_ind LEFT OUTER JOIN business b ON account_ind.cust_id = b.cust_id;
SELECT pt.name, p.product_cd, p.name FROM product p CROSS JOIN product_type pt;
SELECT a.account_id, a.cust_id, c.cust_type_cd, c.fed_id FROM account a NATURAL JOIN customer c;

时间: 2024-09-11 13:12:04

SQL语法中的JOIN类型的相关文章

在SQL Server中修改字段类型和字段名称

  在SQL Server中修改字段类型和字段名称 --以下是完整的SQL执行语句 if exists(select * from syscolumns where id=object_id('数据表名称') and name='字段名') --判断该字段是否存在 begin ALTER TABLE 表明 ALTER COLUMN 字段名 VARCHAR(64);--更改类型 end GO if exists(select * from syscolumns where id=object_id

SQL Server中INNER JOIN与子查询IN的性能测试

这个月碰到几个人问我关于"SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?"这个问题.其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述).下面这篇文章,我们就INNER JOIN与子查询IN这两种写法孰优孰劣,在不同场景下进行一下测试对比一下,希望能解答你心中的疑惑.   下面

SQL点滴2—重温sql语句中的join操作

原文:SQL点滴2-重温sql语句中的join操作 1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,RIGHT,一个表或视图也可以可以和它自身做JOIN操作.下面举例说明.下面所举的例子使用的表有Employee和Department,在这两个表中Department.DepartmentID是主键,Employee.DepartmentID是外键. 图1-Employee表 LastName De

sql语句中left join、inner join中的on与where的区别

原文:sql语句中left join.inner join中的on与where的区别 table a(id, type): id     type ---------------------------------- 1      1         2      1          3      2          table b(id, class): id    class --------------------------------- 1      1 2      2 sql语

SQL中的JOIN类型解释(CROSS, INNER,OUTER),关键字ON,USING

书上讲得明白,解了不少迷惑.   SELECT e.fname, e.lname, d.name FROM employee AS e INNER JOIN department AS d ON e.dept_id = d.dept_id; SELECT e.fname, e.lname, d.name FROM employee AS e INNER JOIN department AS d USING (dept_id);

asp和SQL语法中引号的使用方法

首先接受一个概念:asp中只承认双引号,Access SQL中只承认单引号,HTML由于其不严谨,单双引号都承认.以上是我的一点经验总结,最终正确性还有待证实. 在asp中,要输出一个双引号,需要使用转义字符:两个双引号(""). 例如,        要输出字符串 abc , 则 response.write("abc")        要输出字符串 "abc , 则 response.write("""abc")

SQL语法中的子查询Subqueries

记一下样子. 明白它的应用场景. SELECT account_id, product_cd, cust_id, avail_balance FROM account WHERE open_emp_id <> (SELECT e.emp_id FROM employee AS e INNER JOIN branch AS b ON e.assigned_branch_id = b.brach_id WHERE e.title = 'Head Teller' AND b.city = 'Wobu

SQL server中如何备份和还原以及备份系统数据库

备份 SQL Server 数据库.在备份上运行测试还原过程以及在另一个安全位置存储备份副本可防止可能的灾难性数据丢失. 使用有效的数据库备份,可从多种故障中恢复数据,例如: 介质故障. 用户错误(例如,误删除了某个表). 硬件故障(例如,磁盘驱动器损坏或服务器报废). 自然灾难. 备份模式在sql server中也有三种类型(它决定备份哪些数据) 1.完整备份 备份包括这个数据库,部分事务日志,数据库结构和文件结构.完整备份代表的是备份完成时刻的数据库状态 2.差异备份 它备份在上一次完整备份

BIT类型在SQL Server中的存储大小

对于一般的INT.CHAR.tinyint等数据类型,他们占用的存储空间都是以Byte字节为单位的,但是BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了,那么在SQL Server中BIT类型到底占用了多少空间?是不是由一个Bit位来存储的?或者可能是使用一个字节来存储的? 这两个答案都不正确!!!实际上BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位(几个BIT类型的列共用一个字节)