做项目时哪些是容易被忽略的SQL语句
1 NOT关键字我们很多时候都将NOT 和LIKE 关键字组合成NOT LIKE 来使用。但忘记了NOT自己也可以单独使用, 可以用来否定随后的表达式。例:SELECT * FROM CLPatientRecord WHERE NOT CLPatientRecord.CLPRPatientSex='1' (搜索性别不为1的病人,1为男性,2 为女生)
2 检测NULL值。
检测某一个值是为为NULL,记得用 IS NULL,不为NULL,则用IS NOT NULL.
3 LIKE和通配符% 表示包含零个或多个字符的任意字符串_ 表示任命单个字符[] 指定范围或列表中的任何单个字符[^]指定不在指定范围中的任何单个字符 例:SELECT * FROM CLPatientRecord WHERE CLPatientRecord.CLPRPatientSex like '^[1,2]'如果要在字符串中搜索百分号%或下划线_的字面值,即不是当作转义值来使用,那么可以使用ESCAPE运算符。 例:SELECT ProductID,Name From Producation.Product WHERE Name LIKE '%/_%' ESCAPE '/' (搜索产品名中存在文字_值的产品)
SELECT ProductID,Name From Producation.Product WHERE Name LIKE '%\_%' ESCAPE '\'
4 在TOP 关键字中使用百分比我们习惯了使用 TOP 10,TOP 100,确很少使用TOP 1 PERCENT,(取记录中的1%),如SELECT TOP 1 PERCENT * FROM CLPatientRecord
5 AVG函数忽略NULL值,但COUNT函数不忽略。
6 HAVING 关键字WHERE子句用来限定数据聚合或分组之前的返回行,而HAVING子句用来限定聚合或分组之后的数据。所以,HAVING子句中的列名必须包含在GROUP BY 中。例:SELECT CLPRPatientSex, COUNT(*) FROM CLPatientRecord WHERE CLPatientRecord.CLPRBirthDate between '1988/01/01' and '1990/09/25' group by all CLPRPatientSex having CLPRPatientSex like '1'
7 使用DISTINCT消除重复值SELECT DISTINCT HirDate From Employee确认只有在真正需要或有必要时使用DISTINCT,因为它会让较大结果集的查询速度减慢。
在聚合函数中使用DISTINCT.例:计算产品列表的平均价格,你会使用: SELECT AVG(ListPrice) FROM Product这个查询计算的是基于所有产品的平均列表价格。如果一些产品类型比其他多很多会怎么样呢?如果只对唯一价格点的平均价格感兴趣呢。你会希望写下面的查询:SELECT AVG( DISTINCT ListPrice) FROM Product它先返回唯一的一组价格点,然后计算它们的平均值。
8 使用INTO 子句SELECT……INTO TableA FROM TableB (数据库中必须存在TableB ,不存在TableA.)
SELECT * INTO TableA FROM TableB 将B表中的数据插入到A表中SELECT * INTO TableA FROM TableB WHERE 1=0 .根据B表的结构创建A表,但没有数据,但A表不包含B表中定义的外键等。
本文由站河南北大青鸟校区整编而成,如需了解更多IT资讯类的文章、新闻、课程和学习技巧、就业案例、招生详情等问题,可以对在线咨询老师进行一对一问答!
推荐资讯
- 郑州北大青鸟拓宽大学生就业之路... 2014-04-03
- 郑州IT培训:教育应届生如何准备... 2012-10-13
- 郑州北大青鸟计算机课程怎么样呢... 2023-02-22
- 郑州北大青鸟告诉你:基础不是很... 2013-05-30
- 北大青鸟招生标准... 2012-12-07
热点资讯
- 电脑温度多少是正常的情况呢?... 2018-09-07
- 四个策略及简单的防护方法... 2018-09-07
- 对硬盘进行双分区有什么好处... 2018-09-07
- 文件加密的几个简单方法... 2018-09-07
- 计算机小技巧,80G硬盘巧变变成... 2018-09-07