ms sql server 2005 select 用法大全
2013-10-04 11:06
393 查看
表信息:
数据库一中的表:
Student表:
数据库2中的表:
Student表:
Class表:
--查询不等信息
select * from Student where S_Address<>'北京';
--查询相等信息
select * from Student where S_Address='北京';
--IN 查询
select * from Student where S_Address IN('天津','北京');
--top查询
select top 3 * from Student
select top 60 percent * from Student
--DISTINCT 查询
select distinct S_Address from Student
--or查询
select * from Student where S_Address='天津' or S_Address='北京';
--and 查询
select * from Student where S_Address='北京' and S_Name='李云龙';
--and or 查询
select * from Student where (S_Address='北京' or S_Address='天津')
or S_Name='天策';
--order by 排序
select * from Student order by S_ID asc --升序
select * from Student order by S_ID desc --降序
--< 查询
select * from Student where S_ID<3;
-- > 查询
select * from Student where S_ID>3
--多表连接查询
select * from Student
inner join Class
on Student.StudentClass=Class.ClassID
--< 查询
select * from Student where S_ID<3;
-- > 查询
select * from Student where S_ID>3
-- between and 查询
select *from Student where S_ID between 1 AND 3
--LIKE 模糊查询
select * from Student where love like 'm%'
select * from Student where love like '%';
select * from Student where love like 'music';
select * from Student where love like '_usic';
select * from Student where love like '_u_ic';
select * from Student where love like '[m运]%'
select * from Student where love like '[!m]%'
--日期相关查询
select * from Student where StudentBirthday='1990-09-12';
select * from Student where StudentBirthday between '1990-09-12' and '2013-01-01';
select * from Student where StudentBirthday>='1990-09-12'
--查询非空信息
select * from Student where StudentBirthday is not null;
--转换为大写
select UPPER(ClassName) as ClassName,ClassID from Class;
--转换为小写
select lower(ClassName) as ClassName,ClassID FROM Class;
--去除字符串中的空格
select ClassID,ltrim(ClassName) as 去除左边空格,RTRIM(ClassName) as 去除右边空格 from Class;
--提取子串
select ClassID,ClassName,left(ClassName,2) as ClassName左边提取2个,
right(ClassName,2) as ClassName右边提取2个,
SUBSTRING(ClassName,2,2) as ClassName左边2的位置开始提起2个
from Class
--charindex 查询子串首次出现的位置
select ClassName,charindex('m',ClassName) as m首次出现的位置 from Class
--replace 查找并替换字符串
select ClassName,replace(ClassName,'math','数学') as 替换的ClassName from Class;
--stuff删除子串
--下面参数是指从第四的位置开始删除3个字符,删除后的位置用'm'替换
select ClassName,stuff(ClassName,4,3,'m') as 删除后 from Class
--str将数值数据转为字符串
select ClassID,'班级'+STR(ClassID) as 转换后 from Class
--year,month,day,获取日期中的年,月,日
select StudentBirthday,year(StudentBirthday) as 年,month(StudentBirthday) as 月,
day(StudentBirthday) as 日 from Student
----dateadd将日期递增
select StudentBirthday,DATEADD(YEAR,1,StudentBirthday) AS 年份 from Student
select StudentBirthday,DATEADD(month,1,StudentBirthday) AS 月份 from Student
select StudentBirthday,DATEADD(day,1,StudentBirthday) AS 日期 from Student
--datediff获取日期间隔
select StudentBirthday,datediff(year,StudentBirthday,'2013-10-04') as 间隔年数 from Student
select StudentBirthday,datediff(month,StudentBirthday,'2013-10-04') as 间隔月数 from Student
select StudentBirthday,datediff(day,StudentBirthday,'2013-10-04') as 间隔天数 from Student
--getdate()获取当前系统时间
select StudentBirthday,datediff(day,StudentBirthday,getdate()) as 间隔天数 from Student
--round四舍五入,保留2位小数
select StudentClass,round(StudentClass,2) as 四舍五入后 from Student
--floor取整
select StudentClass,floor(StudentClass) as 取整 from Student
--ceiling取整
select StudentClass,ceiling(StudentClass) as 取整 from Student
--数学函数
select sin(30) as 正弦值,cos(30) as 余弦值,tan(90) as 正切值
--声明变量,并求对数值
declare @vars float
set @vars=30
select str(@vars) as 原数值,convert(varchar,log(@vars)) as 自然对数
--求幂
declare @values int,@counter int
set @values=9
set @counter=2
select power(@values,@counter) AS 九的二次幂
--求指数
declare @vars float
set @vars=10
select convert(varchar,EXP(@vars)) as 输出指数值
--rand()随机数
DECLARE @numbers smallint --声明一个变量
SET @numbers=1 --设置变量的初值为1
--通过循环语句与RAND()函数的组合方式产生随机数
WHILE @numbers<4
BEGIN
select RAND(@numbers) AS 随机数
SET NOCOUNT ON
SET @numbers=@numbers+1 --改变循环条件的值
SET NOCOUNT OFF
END
--sqrt求平方根
declare @val float
set @val=120
select sqrt(@val) as 开方
--sum求和
select SUM(StudentClass) AS 求和 from Student where StudentClass=1
--max求最大值
select max(ClassID) AS 最大值 from Class
--min求最小值
select min(ClassID) AS 最小值 from Class
--avg求平均值
select avg(ClassID) AS 平均值 from Class
--count求记录总数
select count(*) As 记录总数 from Student where StudentClass=1
--cast强制转换
SELECT CAST('456' AS INT) + 123
AS 计算结果
--获取当前数据库时间戳
select @@DBTS as 当前数据库时间戳值
--获取当前数据库语言
select @@LANGUAGE as 语言名称
--获取当前数据库版本
select @@VERSION as 当前数据库版本
--获取注册表项的名称
SELECT @@SERVICENAME AS 注册表项的名称
数据库一中的表:
Student表:
数据库2中的表:
Student表:
Class表:
--查询不等信息
select * from Student where S_Address<>'北京';
--查询相等信息
select * from Student where S_Address='北京';
--IN 查询
select * from Student where S_Address IN('天津','北京');
--top查询
select top 3 * from Student
select top 60 percent * from Student
--DISTINCT 查询
select distinct S_Address from Student
--or查询
select * from Student where S_Address='天津' or S_Address='北京';
--and 查询
select * from Student where S_Address='北京' and S_Name='李云龙';
--and or 查询
select * from Student where (S_Address='北京' or S_Address='天津')
or S_Name='天策';
--order by 排序
select * from Student order by S_ID asc --升序
select * from Student order by S_ID desc --降序
--< 查询
select * from Student where S_ID<3;
-- > 查询
select * from Student where S_ID>3
--多表连接查询
select * from Student
inner join Class
on Student.StudentClass=Class.ClassID
--< 查询
select * from Student where S_ID<3;
-- > 查询
select * from Student where S_ID>3
-- between and 查询
select *from Student where S_ID between 1 AND 3
--LIKE 模糊查询
select * from Student where love like 'm%'
select * from Student where love like '%';
select * from Student where love like 'music';
select * from Student where love like '_usic';
select * from Student where love like '_u_ic';
select * from Student where love like '[m运]%'
select * from Student where love like '[!m]%'
--日期相关查询
select * from Student where StudentBirthday='1990-09-12';
select * from Student where StudentBirthday between '1990-09-12' and '2013-01-01';
select * from Student where StudentBirthday>='1990-09-12'
--查询非空信息
select * from Student where StudentBirthday is not null;
--转换为大写
select UPPER(ClassName) as ClassName,ClassID from Class;
--转换为小写
select lower(ClassName) as ClassName,ClassID FROM Class;
--去除字符串中的空格
select ClassID,ltrim(ClassName) as 去除左边空格,RTRIM(ClassName) as 去除右边空格 from Class;
--提取子串
select ClassID,ClassName,left(ClassName,2) as ClassName左边提取2个,
right(ClassName,2) as ClassName右边提取2个,
SUBSTRING(ClassName,2,2) as ClassName左边2的位置开始提起2个
from Class
--charindex 查询子串首次出现的位置
select ClassName,charindex('m',ClassName) as m首次出现的位置 from Class
--replace 查找并替换字符串
select ClassName,replace(ClassName,'math','数学') as 替换的ClassName from Class;
--stuff删除子串
--下面参数是指从第四的位置开始删除3个字符,删除后的位置用'm'替换
select ClassName,stuff(ClassName,4,3,'m') as 删除后 from Class
--str将数值数据转为字符串
select ClassID,'班级'+STR(ClassID) as 转换后 from Class
--year,month,day,获取日期中的年,月,日
select StudentBirthday,year(StudentBirthday) as 年,month(StudentBirthday) as 月,
day(StudentBirthday) as 日 from Student
----dateadd将日期递增
select StudentBirthday,DATEADD(YEAR,1,StudentBirthday) AS 年份 from Student
select StudentBirthday,DATEADD(month,1,StudentBirthday) AS 月份 from Student
select StudentBirthday,DATEADD(day,1,StudentBirthday) AS 日期 from Student
--datediff获取日期间隔
select StudentBirthday,datediff(year,StudentBirthday,'2013-10-04') as 间隔年数 from Student
select StudentBirthday,datediff(month,StudentBirthday,'2013-10-04') as 间隔月数 from Student
select StudentBirthday,datediff(day,StudentBirthday,'2013-10-04') as 间隔天数 from Student
--getdate()获取当前系统时间
select StudentBirthday,datediff(day,StudentBirthday,getdate()) as 间隔天数 from Student
--round四舍五入,保留2位小数
select StudentClass,round(StudentClass,2) as 四舍五入后 from Student
--floor取整
select StudentClass,floor(StudentClass) as 取整 from Student
--ceiling取整
select StudentClass,ceiling(StudentClass) as 取整 from Student
--数学函数
select sin(30) as 正弦值,cos(30) as 余弦值,tan(90) as 正切值
--声明变量,并求对数值
declare @vars float
set @vars=30
select str(@vars) as 原数值,convert(varchar,log(@vars)) as 自然对数
--求幂
declare @values int,@counter int
set @values=9
set @counter=2
select power(@values,@counter) AS 九的二次幂
--求指数
declare @vars float
set @vars=10
select convert(varchar,EXP(@vars)) as 输出指数值
--rand()随机数
DECLARE @numbers smallint --声明一个变量
SET @numbers=1 --设置变量的初值为1
--通过循环语句与RAND()函数的组合方式产生随机数
WHILE @numbers<4
BEGIN
select RAND(@numbers) AS 随机数
SET NOCOUNT ON
SET @numbers=@numbers+1 --改变循环条件的值
SET NOCOUNT OFF
END
--sqrt求平方根
declare @val float
set @val=120
select sqrt(@val) as 开方
--sum求和
select SUM(StudentClass) AS 求和 from Student where StudentClass=1
--max求最大值
select max(ClassID) AS 最大值 from Class
--min求最小值
select min(ClassID) AS 最小值 from Class
--avg求平均值
select avg(ClassID) AS 平均值 from Class
--count求记录总数
select count(*) As 记录总数 from Student where StudentClass=1
--cast强制转换
SELECT CAST('456' AS INT) + 123
AS 计算结果
--获取当前数据库时间戳
select @@DBTS as 当前数据库时间戳值
--获取当前数据库语言
select @@LANGUAGE as 语言名称
--获取当前数据库版本
select @@VERSION as 当前数据库版本
--获取注册表项的名称
SELECT @@SERVICENAME AS 注册表项的名称
相关文章推荐
- ms sql server 2005 select 用法大全
- ms sql server 2005 select guid返回null的问题
- MS SQL SERVER 2005 EXPRESS用法笔记
- 下载-MS SQL Server 2005(大全版)含开发人员版、企业版、标准版【转】
- 下载-MS SQL Server 2005(大全版)含开发人员版、企业版、标准版
- 下载-MS SQL Server 2005(大全版)含开发人员版、企业版、标准版
- SQL Server Create/Update/Delete/Select Table/View/Procedure常见用法
- MS SQL Server中的CONVERT日期格式化大全
- (MS SQL Server)SQL语句导入导出大全
- (MS SQL Server)SQL语句导入导出大全
- MS Sql Server导入导出语句大全
- [转+自己修改]将 MS SQL Server 2005 SP2 整合到安装文件
- sql server select case when的用法
- MS SQL Server 2005/2008系列文章导航
- 在Ubuntu 10.04中文版下Qt编程,使用unixODBC和FreeTDS连接MS SQL Server 2005,并且中文不出现乱码的方法
- 安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
- MS SQL Server中的CONVERT日期格式化大全
- 体验MS SQL Server 2005
- PHP5连接MS SQL Server 2005
- MS-sql 2005拒绝了对对象 ''xxx'' (数据库 ''xxx'',架构 ''dbo'')的 SELECT 权限的解决方法