SQL小技巧小知识

时间:2020-12-26 04:47:20

1.[ ]的使用

  当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * from user info就要报错,需要写成:select * from [user] 和 select * from [user info],不过千万不要因为有[]的帮助,就随意起名了,那是自找麻烦,不过我确实看到有人把用户表起名为user的。

2.NULLIF函数

  NULLIF(Expression1,Expression2):给定两个参数Expression1和Expression2,如果两个参数相等,则返回NULL;否则就返回第一个参数。

  等价于:Case WHEN Expression1=Expression2 Then NULL ELSE Expression1。

  例如Select NULLIF(1,1)返回NULL,Select NULLIF(1,2)返回1。

  有一个实际的应用,例如防止除0操作的放生,可以使用a/NULLIF(b,0),这样就不怕b是0了,当然除0操作也可以通过别的方式判断。

3.NULL

  NULL是个神奇的东西,表示空值,未知值,任何数与它加减乘除都返回NULL。

4.ISNULL函数

  ISNULL(Expression1,Expression2):给定两个参数Expression1和Expression2,如果Expression1是NULL,那么返回Expression2,否则返回Expression1。

  等价于:Case WHEN Expression1 is NULL Then Expression2 ELSE Expression1。

  例如Select ISNULL(NULL,1)返回1,Select ISNULL(1,2)返回1。

  有一个实际的应用,可以对空值进行默认值替代,例如SELECT ISNULL(email,'没有填写email') from table1,所有email为null的,用'没有填写email'来替代。

 5.COALESCE函数

  COALESCE(Expression1,Expression2,Expression3,......):接受一系列的表达式或列,返回第一个非空的值。

例如SELECT COALESCE(NULL,NULL,4,NULL,NULL,5),那么返回4,如果里面的参数都为NULL,那么会报错。

6.WITH TIES

  与top()和order by 一起用,可以返回多于top的行。防止丢失想要的信息。

如果按照order by 参数排序TOP n(PERCENT)返回了前面n(pencent)个记录,

但是n+1…n+k条记录和排序后的第n条记录的参数值(order by 后面的参数)相同,

则n+1、…、n+k也返回。n+1、…、n+k就是额外的返回值

  例如:有个表table1

(1)select * from table1 order by name desc :结果如下:

SQL小技巧小知识

(2)select top(3) * from table1 order by name desc:结果如下:(只有三条)

SQL小技巧小知识

(3)select top(3) with ties * from table1 order by name desc:结果如下:

SQL小技巧小知识

7.ORDER BY NEWID():返回随机排序结果。

8.BETWEEN a AND b:返回大于等于a,小于等于b的结果。如果a>b,那么返回NULL。

9.不要在where条件中使用函数,会强制每一行都计算该函数,无法使用索引查找。

  例如:select * from table1 where id+3>5和select * from table1 where id>5-3,后者效率比前者高。

10.许多以_desc结尾的列,是为了更友好的表示一个列的含义。

  例如:SELECT * FROM sys.databases

SQL小技巧小知识

11.推荐一个小插件,SQL Prompt,配合Microsoft SQL Server Management Studio,使用起来非常方便,同时再加上以下几个快捷键:

  (1)ctrl+5或F5,运行代码,如果想运行特定的语句,那么只是选中该语句,然后F5或ctrl+E即可。

  (2)ctrl+L:显示执行计划。

  (3)ctrl+R:显示隐藏下面的结果窗口,增大自己书写sql的空间。

  (4)ctrl+K,然后按Y,格式化SQL代码。

SQL小技巧小知识的更多相关文章

  1. python小技巧 小知识

    python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...

  2. rails项目编写中的一些小技巧小心得

    1. 如果form中有数据要传回服务器可以用隐藏属性的控件: form_for(xxx) do |f| f.hidden_field :xxx,value:xxx end 2. 如果你需要一些信息放在 ...

  3. C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?

    C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...

  4. sql server小技巧-自动添加时间与主键自增长

    在敲机房收费系统的时候,遇到添加时间的时候总是通过vb端调用当前时间再添到sql server中,期间还有时因为添加时间格式的不统一导致一些小问题,现在才知道原来是自己孤陋寡闻,sql server ...

  5. mysql操作sql的小技巧

    本篇集中整理一下执行sql的小技巧,这种方式不仅带来了操作上的便捷,也可以保证数据可以数据的安全性. 1:查询数据(保证查询性能) 首先想先解释一下 SELECT * 和 SELECT t.id , ...

  6. Mysql编写sql语句的小技巧

    1.查询数据(保证查询性能) SELECT * 和 SELECT t.id , t.name:后者性能其实总体优于前者. 2.在查询的时候最好给表起个 别名,方便找到表中要查询的字段.执行sql的进行 ...

  7. (小技巧)Sql server查看sql语句的执行时间(转)

    转自CSDN: 在写数据库sql的时候,我们往往很关心该sql语句的执行效率,如下小技巧可以帮助程序员简单快速的得到某条或某几条sql的执行时间. declare @d datetime set @d ...

  8. sql server 小技巧(8) visual studio 2013里使用Sql server compact 4.0及发布问题处理

    1. 安装 Microsoft SQL Server Compact 4.0  https://www.microsoft.com/zh-cn/download/confirmation.aspx?i ...

  9. sql server 小技巧(2) 删除sql server中重复的数据

    with list_numbers as ( select Name, AuthorOrTime, Url, Price, EstimatePrice, Size, Category, ROW_NUM ...

随机推荐

  1. [C#基础知识] ReadOnly关键字修饰的变量可以修改,只是不能重新分配

    转自:http://www.cnblogs.com/sujiantao/archive/2011/12/19/2289357.html MSDN 官方的解释 readonly 关键字是可以在字段上使用 ...

  2. 干净的卸载Oracle

    一.在oracle11G以前卸载oracle会存在卸载不干净,导致再次安装失败的情况,在运行services.msc打开服务,停止Oracle的所有服务. 二. oracle11G自带一个卸载批处理\ ...

  3. 关于windows的svchost进程的问题(年代有点久远)

    这是N年前写的一篇关于svchost的blog,虽然写的不好却是我第一次写的技术类blog, 发上来做开博第一篇吧. ***************************************** ...

  4. 什么是Jsp

    1.什么是jsp java server page(java 服务器端页面技术),是 sun 公司制订的一种服务器端动态页面生成技术的规范. 因为直接使用 servlet 生成页面,如果页面比较复杂, ...

  5. Thinkphp环境搭建

    一.准备工作-基础知识 1.php环境配置 配置php文件运行环境Apache,phpstudy集成环境(还有别的集成环境都可以). 2.设计数据库 根据需求设计table,可以用一些数据库管理工具n ...

  6. tomcat使用cookies缓存的时候中文报错解决办法 java.lang.IllegalArgumentException: Control character in cookie value or attribute.

    报错出现 java.lang.IllegalArgumentException: Control character in cookie value or attribute. at org.apac ...

  7. Ubuntu Win10双系统重启ubuntu出现黑屏情况 Ubuntu引导修复

    step 1 : 准备一个Ubuntu grub启动盘 step 2 : 进入Ubuntu启动盘的 Try Ubuntu without install step 3 : 使用终端输入以下命令,记住检 ...

  8. 【 HDU - 4456 】Crowd (二维树状数组、cdq分治)

    BUPT2017 wintertraining(15) #5A HDU 4456 题意 给你一个n行n列的格子,一开始每个格子值都是0.有M个操作,p=1为第一种操作,给格子(x,y)增加z.p=2为 ...

  9. opencv ---getRotationMatrix2D函数

    getRotationMatrix2D函数 主要用于获得图像绕着 某一点的旋转矩阵  Mat getRotationMatrix2D(Point2f center, double angle, dou ...

  10. jquery 浏览器打印

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...