1.什么是查询
查询产生一个虚拟表
看到的是表形式显示的结果,但结果并不真正存储
每次执行查询只是从数据表中提取数据,并按照表的形式显示出来

 

2.查询
语法:SELECT <列名>
FROM <表名>
[WHERE <查询条件表达式>]
[ORDER BY <排序的列名>[ASC或DESC]]

 

3.查询全部的行和列:

         SELECT * FROM 表名

 

4.查询部分列:

           SELECT 列名 FROM 表名

 

5.查询部分行和列:

           SELECT 列名 FROM 表名 WHERE 条件

 

6.数据查询-列别名
                使用AS命名列:
                       (1)SELECT SCode AS 学生编号,SName AS 学生姓名,
                                SAddress AS 学生地址
                                FROM Students
                                  WHERE SAddress <> '河南新乡'
                       (2)SELECT FirstName + '.' + LastName AS 姓名
                                 FROM Employees
       注意:
            (1) + 连接的数据类型必须兼容
            (2) 如果 + 连接字符型数据,结果为字符串数据的连接
            (3) 如果 + 连接数值型数据,结果为数值的和

 

                           使用“=”命名列:
                              SELECT 姓名 = FirstName+'.'+LastName
                             FROM Employees

 

7.数据查询-空行、常量列
               查询空行:
                          SELECT SName FROM Students WHERE SEmail IS NULL
                查询常量列
                             SELECT 姓名=SName,地址= SAddress , '北京新兴桥' AS 学校名称
                             FROM Students

 

8.数据查询-限制行数
                限制固定行数:
                       SELECT TOP 行数 列名1, 列名2
                       FROM 表名 WHERE 条件
             按百分数返回行:
                       SELECT TOP 百分值 PERCENT 列名1,列名2
                       FROM 表名 WHERE 条件

 

9.查询单列排序
              升序排列
                       SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 要排序的列名 ASC
              降序排列
                     SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 要排序的列名 DESC


10.查询多列排序
                  SELECT 列名1,列名2 FROM 表名 WHERE 条件 ORDER BY 列名1,列名2

 

11.分页查询
                    select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数
 

12.SQL Server中的函数

             常用的几类函数
                     字符串函数:用于控制返回给用户的字符串
                      日期函数:用于操作日期值
                     数学函数:用于对数值进行代数运算
                    系统函数:获取有关SQL Server中对象和设置的系统信息

 

13字符串函数


函数名 描述 示例
CHARINDEX 寻找一个指定的字符串在 SELECT
另一个字符串中的起始位置 CHARINDEX('JBNS','My JbnsCourse',1 )
返回:4
JBNS:要寻找的字符串 1:寻找的起始位置
LEN 返回传递给它的字符串长度 SELECT LEN('SQL Server课程')
返回:12
UPPER 把传递给它的字符串转换为大写 SELECT UPPER('sql server课程')
返回:SQL SERVER课程
LTRIM 清除字符左边的空格 SELECT LTRIM (' 周智宇 ')
返回:周智宇 (后面的空格保留)
RTRIM 清除字符右边的空格 SELECT RTRIM (' 周智宇 ')
返回: 周智宇(前面的空格保留)
RIGHT/ 从字符串右/左边返回指定数目 SELECT RIGHT('买卖提.吐尔松',3)
LEFT 的字符 返回:吐尔松 3:要返回的字符的数目
REPLACE 替换一个字符串中的字符 SELECT REPLACE('莫乐可切.可','可','兰')
返回:莫乐兰切.兰
可:将要被替换的字符 兰:替换后的字符
STUFF 在一个字符串中,删除指定 SELECT STUFF('ABCDEFG', 2, 3, '我的
长度的字符,并在该位置插 音乐我的世界')
入一个新的字符串 返回:A我的音乐我的世界EFG
2:删除的起始位置 3:删除的字符长度
我的音乐我的世界:要插入的字符串

 

14日期函数


函数名 描述 示例
GETDATE 取得当前的系统日期 SELECT GETDATE() 返回:今天的日期
DATEADD 将指定的数值添加到 SELECT DATEADD(mm,4,'01/01/2009')
指定的日期部分后的日期 返回:以当前的日期格式返回05/01/2009
mm:月份,month 4:要添加的数值
01/01/2009:要添加的指定日期
DATEDIFF 两个日期之间的指定日期 SELECT DATEDIFF
部分的间隔 (mm, '01/01/2009', '05/01/2009')返回:4
mm:月份,month
01/01/2009:第一个日期
05/01/2009:第二个日期
DATENAME 日期中指定日期部分的字 SELECT DATENAME(dw, '01/01/2000')
符串形式 返回:Saturday或星期六
dw:当天的星期 weekday
01/01/2000:指定日期
DATEPART 日期中指定日期部分的整 SELECT DATEPART(day, '01/15/2000')
数形式 返回:15
day:日(要得到的指定日期部分)
01/15/2000:指定日期

 

15.数学函数


函数名 描述
RAND  返回从 0 到 1 之间的随机 float 值 
CEILING 取大于或等于指定数值、表达式的最小整数
FLOOR 取小于或等于指定表达式的最大整数
POWER 取数值表达式的幂值
ROUND 将数值表达式四舍五入为指定精度
SIGN 对于正数返回+1,对于负数返回-1,对于0则返回0
SQRT 取浮点表达式的平方根

 

16.系统函数


函数名 描述 示例
CONVERT 用来转变数据类型 SELECT CONVERT (VARCHAR (5),12345)
/CAST 返回:字符串12345
SELECT CAST (12345 AS VARCHAR(5))
返回:字符串12345
CURRENT_USER 返回当前用户的名字
DATALENGTH 返回用于指定表达式的字节数
HOST_NAME  返回当前用户所登录的计算机名字
SYSTEM_USER 返回当前所登录的用户名称
USER_NAME 从给定的用户ID返回用户名

posted on 2020-06-04 16:34  吅^O^  阅读(192)  评论(0编辑  收藏  举报