第四章 数据查询基础

1、数据查询机制

l 查询产生一个虚拟表。

l 看到的是表形式显示的结果,但结果并不真正存储。

l 每次执行查询只是从数据表中提取数据,并按照表的形式显示出来。

注:可简单理解为查询是针对已存在的数据进行“筛选”。

2、基本查询语法

SELECT    <列名>

FROM      <表名>

[WHERE    <查询条件表达式>]

[ORDER BY <排序的列名>[ASCDESC]]

  • 查询所有的语法

SELECT * FROM 表名

 

  • 查询部分列(某几列)

SELECT 1,列2…… FROM 表名

 

  • 查询某几行某几列)

SELECT1 , 列2...

FROM 表名

WHERE 条件(约束行,用于选择行)

 

  • 查询中使用别名【AS或者=

使用AS

SELECT 1AS 别名1,列2 AS 别名2 ...

FROM表名

WHERE条件

 

使用 = 命名别名:

SELECT 别名 = 1 别名 = 2

FROM表名

WHERE条件

 

  • 使用”+”连接两列的值,注意:

²  + 连接的数据类型必须兼容

² 如果 + 连接字符型数据,结果为字符串数据的连接

² 如果 + 连接数值型数据,结果为数值的和

 

  • 空值的查询——条件

IS NULL空值

IS NOT NULL不为空,非空

 

  • 使用常量列

SELECT 1 AS 别名,列2 AS 别名 。。。 '常量值' AS 常量

FROM 表名

WHERE 条件

 

  • 返回指定的行数——TOP

n 按条数:

SELECT  TOP 条数 1,列。。。

FROM 表名

WHERE 条件

 

n 按百分比:

SELECT  TOP 数目 PERCENT 1,列。。。

FROM 表名

WHERE条件

注:20 percent就是20%

 

3、查询排序——ORDER BY ASCDESC

排序 ASC是升序排序,DESC是降序排序,默认为升序,省略不写为升序,按照列来排序。

SELECT 别名=列名,别名=列名。。。

FROM表名

WHERE条件

ORDER BY  列名 ASC DESC

 

l 按照多列排序,使用多个列名

SELECT  别名=列名,别名=列名。。。

FROM表名

WHERE条件

ORDER BY  列名1,列名2 

 

4、SQLServer中的常用四类函数

1) 字符串函数——用于控制返回给用户的字符串

a) CHARINDEX(要找的字符或字符串,字符串,从几开始找)

——查找字符|字符串在目标字符串中的位置【起始为1

例如:SELECT CHARINDEX(‘love’,’ILOVEME’,1)   返回:2

b) LEN(‘字符串’)——返回字符串长度

例如:SELECTLEN(‘rweuieowtr’)返回:10

c) UPPER(‘字符串’)——将字符串中的英文转化成大写

例如:SELECTUPPER(‘asdfghjkl’)返回:ASDFGHJKL

d) LTRIM(‘  字符串   ’)——清除字符串左边空格

例如:SELECT LTRIM ('  周智宇  ')

返回:周智宇  (后面的空格保留)

e) RTRIM(‘  字符串   ’)——清除字符串右边空格

例如:SELECT RTRIM ('  周智宇   ')

返回:   周智宇(前面的空格保留)

f) RIGHT(‘字符串’,截取个数)——从右边截取边字符串

例如:SELECT RIGHT('焊接的考试卷'3)  返回:考试卷

g) REPLACE(‘字符串’,’被换的字符’,’换成字符’)

——替换一个字符串中的字符

例如:SELECT REPLACE('莫乐可切.杨可','','')

返回:莫乐兰切.杨兰

h) STUFF('字符串',起始位置,挖取个数, '填充字符串')

——在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串

例如:SELECT STUFF('ABCDEFG', 2, 3, '我的音乐我的世界')

返回:A我的音乐我的世界EFG

2) 日期函数——用于操作日期值

a) GETDATE

b) DATEADD

c) DATEDIFF

d) DATENAME

e) DATEPART

3) 数学函数——用于对数值进行代数运算

4) 系统函数——获取有关SQL Server中对象和设置的系统信息

猜你喜欢

转载自www.cnblogs.com/suola/p/11344338.html