SELECT数据库查询

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

--2010_11_1 上课练习

--SELECT数据查询

USE Student

GO

--select基本用法

SELECT*FROM C-- * 即代表所有列

SELECT C#,CNAME,CREDIT,NOTE

FROM C

--查询的修改显示,但不会修改数据表的列名

SELECT S#学号,SNAME姓名,DEPARTNAME院系名称

FROM S

--查询时候调用函数,形成新列

SELECT SNAME,DATEDIFF(YEAR,SBIRTH,GETDATE())年龄FROM S

--使用CASE语句

SELECT S#,C#,GRADE,KIND=

CASE

WHEN GRADE>= 80 THEN'优秀'

WHEN GRADE>= 60 THEN'及格'

ELSE'不及格'

END

FROM SC

SELECT S#,C#,GRADE,

CASE

WHEN GRADE>= 80 THEN'优秀'

WHEN GRADE>= 60 THEN'及格'

ELSE'不及格'

END KIND

FROM SC

--取消重复元祖DISTINCT

SELECT S#FROM SC

SELECTDISTINCT S#FROM SC

-- 显示一个常量列(注意下面的5)

SELECT S#+1,C#, 5 常量列

FROM SC

-- select中的WHERE

SELECT S#学号,C#课程号,GRADE分数

FROM SC

WHERE GRADE< 60 AND C#=5

GO

--

SELECT S#学号,C#课程号,GRADE分数

FROM SC

WHERE (GRADE< 60 AND C#=5)

GO

-- 好玩一下~O(∩_∩)O~

SELECT NULL空列

FROM S

--模式匹配(关键字LIKE)

-- % 替代个或者多个字符

SELECT*FROM S

WHERE SNAME LIKE'王%'AND SSEX='男'

--[^...]不匹配集合中的任意一个字

--[...]匹配集合中的任意单个字符

SELECT*FROM S

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

WHERE SNAME LIKE'[^张]%'OR SNAME LIKE'[晨]'

GO

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

--试试看,说说下面的SQL语句是什么意思

SELECT*FROM S WHERE SNAME LIKE'王[建|亚]%'

SELECT*FROM S WHERE SNAME LIKE'王[^建|^亚]%'

SELECT*FROM S WHERE SNAME LIKE'王[^(建|亚)]%'

--以下的LTRIM函数,是在防止两个字的名字由于前面不下心加了空格而被认作个字符--类似的也会有RTRIM函数.

--两函数作用即删除前后空格

SELECT*FROM S

WHERE LEN(LTRIM(SNAME))=1

--结合运算COLUMN IN(...)

SELECT*FROM S

WHERE SNAME IN('王建国','张%')

GO

相关文档
最新文档