常见的高级sql应用
1、请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?
答:(1)选择最有效率的表名顺序
(2)WHERE子句中的连接顺序
(3)SELECT子句中避免使用‘*’
(4)用Where子句替换HAVING子句
(5)通过内部函数提高SQL效率
(6)避免在索引列上使用计算。
(7)提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉。
2、左连接、右连接、交叉连接、全外连接用法
JOIN(INNER JOIN) 在所有表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行。
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
这里有一篇关于使用的详细例子 http://www.cnblogs.com/LeoTerry/archive/2010/03/26/1696988.html
[参考文献]
w2c sql教程 http://www.w3school.com.cn/sql/sql_join_left.asp