各种连接的使用示例
2008-03-20 15:55
176 查看
--测试数据
DECLARE @a TABLE(id int)
INSERT @a SELECT 1
UNION ALL SELECT 2
DECLARE @b TABLE(id int)
INSERT @b SELECT 2
UNION ALL SELECT 3
--内联接
SELECT * FROM @a a JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=b.id
/*--结果(只返回两个表中id相同的记录)
id id
---------------- -----------
2 2
--*/
--左向外联接
SELECT * FROM @a a LEFT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id*=b.id --会产生不明确查询,不建议再使用这种方式
/*--结果(返回@a(左边表)所有的记录,及@b(右边表)的id与@a表id匹配的记录),不匹配的用NULL表示
id id
----------------- -----------
1 NULL
2 2
--*/
--右向外联接
SELECT * FROM @a a RIGHT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=*b.id –会产生不明确查询,不建议再使用这种方式
/*--结果(返回@b(右边表)所有的记录,及@a(左边表)的id与@b表id匹配的记录),不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
--*/
--完整外部联接
SELECT * FROM @a a FULL JOIN @b b ON a.id=b.id
/*--结果(返回@a与@b表所有的记录,id不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
1 NULL
--*/
--交叉联接
SELECT * FROM @a a CROSS JOIN @b b
SELECT * FROM @a a,@b b
/*--结果:
id id
----------------- -----------
1 2
2 2
1 3
2 3
--*/
DECLARE @a TABLE(id int)
INSERT @a SELECT 1
UNION ALL SELECT 2
DECLARE @b TABLE(id int)
INSERT @b SELECT 2
UNION ALL SELECT 3
--内联接
SELECT * FROM @a a JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=b.id
/*--结果(只返回两个表中id相同的记录)
id id
---------------- -----------
2 2
--*/
--左向外联接
SELECT * FROM @a a LEFT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id*=b.id --会产生不明确查询,不建议再使用这种方式
/*--结果(返回@a(左边表)所有的记录,及@b(右边表)的id与@a表id匹配的记录),不匹配的用NULL表示
id id
----------------- -----------
1 NULL
2 2
--*/
--右向外联接
SELECT * FROM @a a RIGHT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=*b.id –会产生不明确查询,不建议再使用这种方式
/*--结果(返回@b(右边表)所有的记录,及@a(左边表)的id与@b表id匹配的记录),不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
--*/
--完整外部联接
SELECT * FROM @a a FULL JOIN @b b ON a.id=b.id
/*--结果(返回@a与@b表所有的记录,id不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
1 NULL
--*/
--交叉联接
SELECT * FROM @a a CROSS JOIN @b b
SELECT * FROM @a a,@b b
/*--结果:
id id
----------------- -----------
1 2
2 2
1 3
2 3
--*/
相关文章推荐
- 各种连接的使用示例
- Jquery事件的连接使用示例
- Node.js实现mysql连接池使用事务自动回收连接的方法示例
- 页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享
- python使用mysqldb连接数据库操作方法示例详解
- Java连接redis的使用示例
- C#使用ODBC与OLEDB连接数据库的方法示例
- Oralce中各种连接的使用
- postgresql对于各种游标的使用示例
- C#使用udl连接数据库示例
- 各种数据库使用JDBC 连接数据库
- Oralce中各种连接的使用
- java 泛型深入之Set实用工具 各种集合泛型深入使用示例,匿名内部类、内部类应用于泛型探讨
- Java连接redis的使用示例
- JAVA各种数据库使用JDBC连接的方式
- 使用Java程序连接各种数据库的方法
- oracle 嵌套表各种使用方法示例
- Jquery事件的连接使用示例
- 各种数据库的JDBC连接示例
- php使用pdo连接sqlserver示例分享