alex_lo

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

11 2012 档案

SQL 深入"了解" sqlserver 表连接 join 及性能调优化
摘要:问题 : 1.什么是内连接(inner)和外联结(outer) 2. SQL server 表连接 (FROM--AND 法, JOIN -- ON 法)的区别. 3.表连接及多表连接的SQL语句执行顺序,和性能调优.1.第一个问题,首先要明白如何使用JOIN 和 ON 关键字作表连接。 申明:下文中所用的等价,可能指的是逻辑上的等价(即产生相同的结果集),也可能是执行顺序上的等价,甚至是所产生的执行计划或者执行效率等价。因为很多时候用户只要写普通的sql ,而sql server 会跟据自己的优化 配置和执行计划,产生执行步骤,这些步骤也许和你写的sql很符... 阅读全文

posted @ 2012-11-16 14:48 alex_lo 阅读(15502) 评论(2) 推荐(4) 编辑

SQL 练习编写能力(1) (GROUP BY HAVING)
摘要:1. 用一条SQL语句查询出每门课都大于80分的学生姓名name kechengfenshu 张三 语文81张三 数学75李四 语文76李四 数学90王五 语文81王五 数学100王五 英语90 方法一: 思路:如果能获得一张表,由学生姓名,语文成绩,数学成绩,英语成绩的表,剩下的就是在WHERE条件中筛选及可以获得想要的结果。 具体办法:通过自连接的办法,以“姓名”为连接条件,自连接三次,便可以获得包含又姓名和三门课程成绩的数据行。虽然可以得到想要的数据列。但会有很多冗余重复列! 点评:此方法是根据题目,依题解题,中规中矩! 不过多张表连接非常耗费时间。而且SQL语句也比较复杂,需要... 阅读全文

posted @ 2012-11-06 18:05 alex_lo 阅读(687) 评论(0) 推荐(1) 编辑

SQL 基础 :Distinct 和 order by 关系。(Distinct 自动排序)
摘要:今天本来是测试一段代码,然后用到Distinct关键字,查看执行计划之后,突然发现过程中有对表进行sort! 上网搜索和加之验证得出如下结果: 结论: 1.使用distinct 关键字后会对distinct后面用到的关键字进行默认的升序排序. 2.可以使用order by 来改变排序规则. 3.使用distinct后,出现在order by 中的字段必须要写在 SELECT 句中,非充要条件。 求问各大神:如何消除distinct自动排序,及为什么要进行排序,还有distinct是如何做到消除重复列的! 另: //Wrong SQLSELECT DISTINCT field_... 阅读全文

posted @ 2012-11-06 17:14 alex_lo 阅读(20755) 评论(0) 推荐(1) 编辑

is not null 和! = null
摘要:默认情况下,推荐使用 IS NOT NULL去判断因为SQL默认情况下对 != Null 的判断会永远返回0行,但没有语法错误。如果你一定想要使用!= Null来判断,需要加上这个语句:set ANSI_NULLS off这时你会发现IS NOT NULL 和 != null 是等效的。 阅读全文

posted @ 2012-11-02 11:00 alex_lo 阅读(316) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示