一查询语法:
--SELECT <列名>
--FROM <表名>
--[WHERE <查询条件表达式>]
--[ORDER BY <排序的列名>[ASC或DESC]]
select * from student;
--1)根据1年级查询学员信息
select * from student where gradeid=1
--2)根据学员学号降序排序DESC 升序不要写ASC(默认)
select * from student where gradeid=1 order by studentno desc;
select * from student where gradeid=1 order by birthday ;
--3)查询2年级的学员的姓名,密码,电话,生日
select studentName,loginpwd,phone,birthday from student where gradeid=2
--AS命名列可写可不写
select studentName as 姓名 ,loginpwd 密码,phone 电话,birthday 生日 from student where gradeid=2
--注意:
--1. + 连接的数据类型必须兼容
--2. 如果 + 连接字符型数据,结果为字符串数据的连接
--3. 如果 + 连接数值型数据,结果为数值的和
select studentName+'-'+loginpwd 密码,phone 电话,birthday 生日 from student where gradeid=2
--使用等号命名列 姓名=列名字段
select 姓名=studentName+'-'+loginpwd ,phone 电话,birthday 生日 from student where gradeid=2
--查询空行
SELECT * FROM dbo.Student WHERE Email IS NOT NULL
SELECT * FROM dbo.Student WHERE Email IS NULL
--如何查询空字符值
SELECT * FROM dbo.Student WHERE Email=''
--使用常量列 'BDQN'(值) 北大青鸟(字段别名)
SELECT 姓名=studentname,地址=ADDRESS ,'BDQN' 北大青鸟 FROM dbo.Student
--限制固定行数
SELECT TOP 8 * FROM student;
select * from student
--按百分数返回行
--student总共有17行数据 ,占20% 显示=17*0.2=3.4~~4
SELECT TOP 50 PERCENT * FROM student;
二、常用的几类函数
--1)字符串函数
--用于控制返回给用户的字符串
--(1)CHARINDEX 寻找一个指定的字符串在另一个字符串中的起始位置
--从1开始数 charindex(要查找的字符,被查找的字符串,[开始位置])
SELECT CHARINDEX('JBNS','My Jbns Course')
SELECT CHARINDEX('he','hellhe',4);
--2)len返回传递给它的字符串长度
--len(字符串)
SELECT LEN('哈哈bd你好啊啊');
--3)upper把传递给它的字符串转换为大写
SELECT UPPER('hello');
--4)lower把传递给它的字符串转换为小写
SELECT LOWER('DBDQN')
--5)ltrim清除字符左边的空格
SELECT ' this is a ',lTRIM(' this is a ')
--6)rtrim清除字符右边的空格
SELECT ' this is a ',rTRIM(' this is a ')
--7)right 从字符串右边返回指定数目的字符
--right(字符串,字符个数)
SELECT RIGHT('hello',2)
--8)left 从字符串左边返回指定数目的字符
SELECT left('hello',2)
--9)replace替换一个字符串中的字符
--replace('字符串','要修改字符串',‘修改值’)
SELECT REPLACE('hellohe','ll','LL')
--10)substring截取字符串
--substring('字符串',起始位置(包含),字符个数)
SELECT SUBSTRING('heado',3,2)
--11)stuff在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
--stuff(字符串,起始位置(包含),字符个数,'插入的值')
SELECT STUFF('菲尔顿尔ACCP',3,2,'其他其他')
--2)数学函数
--用于对数值进行代数运算
--1)rand返回从 0 到 1 之间的随机 float 值
SELECT RAND()
--2)abs 取数值表达式的绝对值
SELECT ABS(-10)
--3)floor取小于或等于指定表达式的最大整数 (地)
SELECT FLOOR(44.5),FLOOR(-44.5)
--4)CEILING 取大于或等于指定数值、表达式的最小整数 (天)
SELECT CEILING(44.5),CEILING(-44.5)
--5)power取数值表达式的幂值
SELECT POWER(5,2)
--6)round将数值表达式四舍五入为指定精度
--round(数字,精确的个数)
SELECT ROUND(193.6783,2)
--7)sign对于正数返回+1,对于负数返回-1,对于0则返回0
SELECT SIGN(30),SIGN(-10),SIGN(0)
--8)sqrt取浮点表达式的平方根
SELECT SQRT(2),SQRT(8)
--3)系统函数
--获取有关SQL Server中对象和设置的系统信息
--1)convert用来转变数据类型
-- CONVERT(数据类型, 数字/字符串)
SELECT CONVERT(VARCHAR(20),1234)+'aa' ,CONVERT(INT,'20')+50
--2)CURRENT_USER 返回当前用户的名字 DBO
SELECT CURRENT_USER
--3)datalenth返回用于指定表达式的字节数
SELECT LEN('哈哈bd你好啊啊'),DATALENGTH('哈哈bd你好啊啊')
--4)HOST_NAME 返回当前用户所登录的计算机名字 --机器名
SELECT HOST_NAME()
--5)SYSTEM_USER返回当前所登录的用户名称 -->当前登录数据库用户名HSX\Administrator
SELECT SYSTEM_USER
--6)USER_NAME从给定的用户ID返回用户名
SELECT USER_NAME(1) dbo ,USER_NAME(2) guest,USER_NAME(3) information