SQL从零到迅速精通实用函数
Posted osmondwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL从零到迅速精通实用函数相关的知识,希望对你有一定的参考价值。
1.对查询结果进行排序
查询stu_info表中所有学生信息,并按照成绩由高到底进行排序,输入语句如下。
SELECT * FROM stu_info ORDER BY s_score DESC; --asc是指定列按升序排列,desc则是指定列按降序排列。
2.数据控制语句【授权、禁止和收回】
(1)授权权限操作
对名称为guest的用户进行授权,允许其对stu_info数据表执行更新和删除的操作权限,输入语句如下。
GRANT UPDATE,DELETE ON stu_info --UPDATE和DALETE为允许被授予的操作权限
TO guest WITH GRANT OPTION
(2)拒绝权限操作
禁止guest用户对stu_info表的操作更新权限,输入语句如下。
DENY UPDATE ON stu_info TO guest CASCADE; --CASCADE这里记住就行了,说什么和级联有关系,算是固定语法吧。
(3)收回权限操作
收回guest用户对stu_info表的删除权限,输入语句如下。
REVOKE DELETE ON stu_info FROM guest;
3.BEGIN...END语句【与选择语句IF...ELSE和循环语句WHILE搭配使用】
定义布局变量@count,如果@count值小于10,执行WHILE循环操作中的语句块,输入语句如下。
DECLARE @count INT;
SELECT @count=0;
WHILE @count < 10
BEGIN
PRINT \'count=\' + CONVERT(VARCHAR(8),@count) --CONVERT用来把INT类型转化成浮动字符型VARCHAR
SELECT @count=@count+1
END
PRINT \'loop over count = \' + CONVERT(VARCHAR(8),@count);
4.IF...ELSE语句
DECLARE @age INT;
SELECT @age=40
IF @age<30
PRINT \'This is a young man!\'
ELSE
PRINT \'This is an old man!\'
5.CASE语句(简记:CASE/WHEN/THEN/END)【尽可能全部采用CASE语句,非常清晰】
使用CASE语句根据学生姓名判断个个学生在班级的职位,输入语句如下。
USE test_db
SELECT s_id,s_name,
CASE s_name
WHEN \'Jack\' THEN \'BOSS\'
WHEN \'Rose\' THEN \'BEAUTY\'
WHEN \'Osmond\' THEN \'MILIINIARE\'
ELSE \'NO\' --除上面这三个人名之外,其他人全部的职位都是无。如果需要这样设计的话,CASE很好,如果不需要这样设计的话,可以不加ELSE。
END
AS \'JOB\'
FROM stu_info
6.使用CASE语句对考试成绩进行评定,输入语句如下。
SELECT s_id,s_name,s_score
CASE
WHEN s_score >90 THEN \'perfect\'
WHEN s_score >80 THEN \'good\'
WHEN s_score >70 THEN \'ok\'
WHEN s_score >60 THEN \'just soso\'
END
AS \'评价\'
FROM stu_info
7.GOTO【用来跳转】
USE test_db;
BEGIN
SELECT s_name FROM stu_info;
GOTO jump
SELECT s_score FROM stu_info;
jump:
PRINT \'第二条SELECT语句没有执行’;
END
8.WAITFOR语句
10s的延迟后执行PRINT语句,输入语句如下。
DECLARE @name VARCHAR(50);
SET @name=\'admin\';
BEGIN
WAITFOR DELAY \'00:00:10\';
PRINT @name;
END;
9.RETURN【无条件退出】
10.ASCII()函数
查看指定字符的ASCII值,输入语句如下。
SELECT ASCII(\'s\');
11.CHAR()函数
查看ASCII值115和49对应的字符,输入语句如下。
SELECT CHAR(115),CHAR(49);
12.LEFT()函数
使用LEFT函数返回字符串中左边的字符,输入语句如下。
SELECT LEFT(\'football\',4); 》》》》》》foot
13.RIGHT()函数
使用RIGHT函数返回字符串中右边的字符,输入语句如下。
SELECT RIGHT(\'football\',4); 》》》》》》ball
14.LTRIM()函数
使用LTRIM函数删除字符串左边的空格,输入语句如下。
SELECT LTRIM(\' book \');
15.RTRIM()函数(和上面对应)
16.STR()函数
使用STR函数将数字数据转换为字符数据,输入语句如下。
SELECT STR(3141.59,6,1),STR(123.45,5,7);
17.字符串逆序的函数REVERSE(s)
使用REVERSE函数反转字符串,输入语句如下。
SELECT REVERSE(\'abc\');
18.LEN(str)函数
SELECT LEN(\'no\'),LEN(\'日期\'),LEN(12345);
19.查找A在数据中的位置(高级查找)
使用CHARINDEX函数查找字符串中指定子字符串的开始位置,输入语句如下。
SELECT CHARINDEX(\'a\',\'banana\'),CHARINDEX(\'na\',\'banana\',4);
20.范围内取内容
使用SUBSTRING函数获取指定位置处的子字符串,输入语句如下。
SELECT
SUBSTRING(\'breakfast\'1,5),SUBSTRING(\'breakfast\',LEN(\'breakfast\')/2,LEN(‘breakfast’));
>>>>>>>>break akfast
以上是关于SQL从零到迅速精通实用函数的主要内容,如果未能解决你的问题,请参考以下文章