SQL 容易忽略的连接语句
来源:互联网 发布:js toggle botton 编辑:程序博客网 时间:2024/06/06 03:05
1 自连接
经常被我们忽略的就是自连接。很多时候我们需要把同一张表当作两张独立的表来使用。特别是表包含了嵌套层次的数据,或者你希望根据不同的时间段来引用相同的表作比较。
可以用表别名来实现表与其自身的联结。
示例:通过连接Employee表的ManagerID和Employee表的EmployeeID来演示自联结,
SELECT e.EmployeeID,e.Title,m.Tilte as ManagerTitle FROM Employee e LEFT JOIN Employee m ON e.ManagerID=m.EmployeeID.
2 使用衍生表
即将表与子查询查出的结果集相连接。
SELECT DISTINCT s.PurchaseOrderNumber
FORM SalesOrderHeader s INNER JOIN
(
SELECT SalesOrderID From SalesOrderDetail where UnitPrice Between 1000 and 2000)
)
d ON s.SalesOrderID=d.SalesOrderID
使用衍生表的查询有时比临时表性能好很多,因为你消除了SQL SERVER在使用前创建和分配临时表所需要的步骤
3使用Union组合结果集
使用UNION运算符可以追加两个或多个SELECT 语句的结果到一个结果集中,每一个合并的SELECT语句必须有相同数据的列,列次序相同并且有相同的或可兼容的数据类型。
默认情况下UNION运算符会移除所有重复行,并且以第一个结果集的列名为基准显示列名。对于大结果集来说,这可能会是一个相当耗费资源的操作,所以如果你不需要去除重复数据或者数据本身就不重复的话,可以使用UNION ALL。加了ALL后,重复的行将不会被移除。
- SQL 容易忽略的连接语句
- 容易忽略的SQL语句
- 容易忽略的SQL语句(二)
- httpClient容易忽略的细节-关闭连接
- oracle sql语句转化为mysql 容易忽略“||”作用
- 容易忽略的问题
- 关于oracle sql优化的一个容易忽略的问题。
- 注意那些容易被忽略的SQL注入技巧
- 注意那些容易被忽略的SQL注入技巧
- 注意那些容易被忽略的SQL注入技巧
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 使用时容易忽略SQL Server的21个问题
- 注意那些容易被忽略的SQL注入技巧
- 使用时容易忽略SQL Server的21个问题
- 请注意那些容易被忽略的SQL注入技巧
- SQL 入门容易忽略的地方——order by
- linux0.11 感受(非技术)
- 学习简单的python----最简单的python +3(写入XML,使用UDP发送)
- 用CEDET浏览和编辑C++代码
- IBM小机培训笔记二(自阅)
- magic_quotes_gpc
- SQL 容易忽略的连接语句
- S3C2410读写Nand Flash分析
- How to Fix QtWebKit4.dll DLL Error
- 数据结构中的图
- [OPENGL]纹理,材质,光照
- smack jingle demo
- CSS选择器
- 再谈KMP/BM算法(I)
- JAVA程序员面试32问