您的位置:首页 > 数据库

SQL个人学习笔记01

2014-03-09 12:16 387 查看
1.DISTINCT:寻找表格内不同的值(多个空值将返回一个null)

SELECT DISTINCT column_name FROM table_name

2.TOP:将表中前面一定的行数返回到结果集

SELECT TOP n column_name FROM table_name;将table_name中前n行column_name列的值返回到结果集

SELECT TOP n PERCENT column_name FROM table_name;将将表table_name中前百分之n行column_name列的值返回到结果集

3.WHERE:WHERE子句中可使用比较运算符(=、> 、>=、<、<=、!=等)、逻辑运算符(OR AND NOT)、IN、BETWEEN、LIKE等

4.IN:在WHERE子句中已知至少一个我们需要的值

SELECT column_name FROM table_name WHERE column_name IN ('value_1','value_2')

按照一个或数个不连续的值查找表中数据

5.BETWEEN:在WHERE子句中已知我们需要的值的范围

SELECT * FROM table_name WHERE column_name BETWEEN value_1 AND value_2

注意日期类型:SELECT * FROM Orders WHERE OrderDate BETWEEN '1996/7/4' AND '1996/7/8'

BETWEEN 等价于 包含>=和<=的表达式

NOT BETWEEN 等价于 包含>和<的表达式

6.LIKE:实现字符串的模糊比较

SELECT column_name FROM table_name WHERE column_name LIKE '匹配的字符串描述'

通配符

%:包含任意多位的字符串,LIKE '王%'表示以王开头的字符串

_:包含一位的字符串,LIKE '李_'表示以李开头的两个字

[ ]:包含指定范围的字符串,LIKE [1-9][2][09]表示以1~9的某个数字开头,第二个数字是2,第三个数字是0或9

[^]:除指定范围外的字符串,LIKE [^po]yle表示不以p或o开头且以yle结尾的长度为4的字符串

注意:对于查找datetime类型数据时,推荐使用LIKE+CONVERT()

1)查找1992,LIKE %92%,因为SQL Server将其转换为1992年11月4日00:00的形式

2)查找1996/8,SELECT * FROM Orders WHERE CONVERT(VARCHAR(50),OrderDate,120 )LIKE '1996-08%'



CONVERT():格式转换函数,此处是将datetime类型的OrderDate转换为varchar(50),第三个参数代表日期数据转换的格式,如下:

------------------------------------------------------------------------------------------------------------

Style(2位表示年份) | Style(4位表示年份) | 输入输出格式

------------------------------------------------------------------------------------------------------------

0 | 100 | mon dd yyyy hh:miAM(或PM)

------------------------------------------------------------------------------------------------------------

1 | 101 美国 | mm/dd/yy

------------------------------------------------------------------------------------------------------------

2 | 102 ANSI | yy-mm-dd

------------------------------------------------------------------------------------------------------------

3 | 103 英法 | dd/mm/yy

------------------------------------------------------------------------------------------------------------

4 | 104 德国 | dd.mm.yy

------------------------------------------------------------------------------------------------------------

5 | 105 意大利 | dd-mm-yy

------------------------------------------------------------------------------------------------------------

6 | 106 | dd mon yy

------------------------------------------------------------------------------------------------------------

7 | 107 | mon dd,yy

------------------------------------------------------------------------------------------------------------

8 | 108 | hh:mm:ss

------------------------------------------------------------------------------------------------------------

9 | 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)

------------------------------------------------------------------------------------------------------------

10 | 110 美国 | mm-dd-yy

------------------------------------------------------------------------------------------------------------

11 | 111 日本 | yy/mm/dd

------------------------------------------------------------------------------------------------------------

12 | 112 ISO | yymmdd

------------------------------------------------------------------------------------------------------------

13 | 113 欧洲默认值 | dd mon yyyy hh:mi:ss:mmm(24小时制)

------------------------------------------------------------------------------------------------------------

14 | 114 | hh:mi:ss:mmm(24小时制)

------------------------------------------------------------------------------------------------------------

20 | 120 ODBC 规范 | yyyy-mm-dd hh:mi:ss(24小时制)

------------------------------------------------------------------------------------------------------------

21 | 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)

------------------------------------------------------------------------------------------------------------

7.OEDER BY:让结果集按序显示

SELECT * FROM table_name [WHERE 条件] ORDER BY column_name [ASC,DESC];默认为ASC

或多关键字排序:SELECT * FROM table_name [WHERE 条件] ORDER BY column_name1 [ASC,DESC], column_name2 [ASC,DESC]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: