重点掌握:
简单数据查询、分组查询、联接查询、子查询、联合查询、通用表达式、事务
SELECT语句的组成
指定返回列名
【例 】返回XS表中所有的记录的XH(学号)、XM(姓名)、CSRQ(出生日期)列。
SELECT XH, XM, CSRQ
FROM XS
返回所有列
SELECT *
FROM XS
在SELECT子句后加入计算列
(1)SELECT XH, XM ' (' XB ') ', CSRQ
FROM XS
(2)SELECT XH, XM,GETDATE(),10, CSRQ
FROM XS
原始列名 AS 别名。
SELECT XH AS 学号,
XM '(' XB ')' AS 姓名性别,
CSRQ AS 出生日期
FROM XS
原始列名 别名
SELECT XH 学号, XM 姓名, CSRQ 出生日期
FROM XS
别名=原始列名
SELECT学号=XH, 姓名= XM, 出生日期= CSRQ
FROM XS
表别名:
1、“始表名 AS 别名”
SELECT XH, XM, CSRQ
FROM XS a
2、 “原始表名 别名”
SELECT XH, XM, CSRQ
FROM XS AS a
例:从XS表中查找姓名为“曹敏”的同学的学号,姓名,性别。
SELECT XH,XM,XB
FROM XS
WHERE XM='曹敏'
WHERE子句NULL值参与的比较:
当字段未设置值或变量未设值时,其值为NULL,即不包含任何值
(1)、当ANSI_NULLS为OFF时(默认),任何与NULL值的运算结果都为NULL,任何与NULL的比较结果都为UNKNOW(不确定)。
(2)当ANSI_NULLS为ON时,除了=和!=或者<>比较运算符外,其他比较运算符和NULL比较也会得到UNKNOWN值。
例1:
SELECT *
FROM XS
WHERE SFZ=NULL OR SFZ !=NULL
结果:空
例2:
SELECT *
FROM XS
WHERE SFZ is NULL
例3:
SET ANSI_NULLS OFF
SELECT *
FROM XS
WHERE SFZ=NULL
ORDER BY子句
单个字段排序
SELECT *
FROM XS
ORDER BY XH --按学号进行排序
ORDER BY子句多字段排序
ORDER BY后面可以指定多个排序字段,字段之间以“,”分隔。
在指定了多列情况下,首先按第一列排序,在第一列相同的情况下按第二列排序,以此类推。
例:
SELECT XH,XM,XB,DATEDIFF(DAY,CSRQ,GETDATE())/365 AS NL
FROM XS
ORDER BY XM, NL
注意:汉字按拼音首字母排序
ORDER BY子句降序排序:
如果没有特别说明,值是以升序序列进行排序的。你也可以选择使用ASC关键字指定升序排序。
如果你希望以降序排列,则在ORDER BY后面使用DESC关键字。
例:
SELECT *
FROM XS
ORDER BY CSR
Q DESC
更多数据库代码请参考:SQL数据查询与更新最全教程(二)
更多IT领域知识教学请关注我哟!
,