SQL的一些技巧和优化

一、使用通配符技巧

1、不要过度使用通配符,如果其他操作符能达到相同的目的,应该使用其他其他操作符。

2、在确实需要使用通配符时,除非绝对必要,否则不要把他们用在搜索模式的开始处,把通配符置于搜索模式的开始处,搜索起来最慢。

3、注意通配符的位置。如果放错位置,可能不会返回想要的数据

二、使用in的一些优点

1、语法清楚且更直观

2、计算的次序更容易管理(因为使用的操作符更少)

3、in操作符一般比or操作符执行要快

4、in可以包含其他select语句,能够动态的建立where子句

三、group by的一些注意

1、group by子句可以包含任意数目的列。这使得能对分组嵌套,为数据分组提供更细致的控制。

2、如果在group by子句中嵌套了分组,数据将在最后规定的分组上进行汇总。换句话说,在建立分组时,指定的所有列都一起计算(所以不能从个别的列取回数据)。

3、group by 子句中列出的每个列都必须是检索列或者有效表达式(但是不能是聚集函数)。如果在select这种使用表达式,则必须在group by子句中指定相同的表达式。不能使用别名。

4、除聚集计算语句外,select语句中的每个列都必须在group by子句中给出。

5、如果分组中由NULL值,则NULL将作为一个分组返回。如果列中有多个NULL值,它们将分为一组。

6、group by子句必须出现在where子句之后,order by子句之前。

四、联结表时where子句的重要性

where子句作为过滤条件,它只包含那些给定条件(这里指联结条件)的行。如果没有where子句,第一个表中的每一行将与第二个表中每一行配对,而不管它们逻辑上是否可以在一起。(也就是笛卡尔积)

五、union的规则

1、union必须由两条或两条以上的select语句组成,语句之间用关键字union分隔(因此要是4条select语句,将使用3 个union关键字)。

2、union中的每个查询必须包含相同的列,表达式或聚集函数(不过各个列不需要以相同的次数列出)

3、列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)。

3、union从查询结果集中自动去除了重复的行(如果需要匹配所有行则使用union all)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值