码迷,mamicode.com
首页 > 数据库 > 详细

数据库创建两个表格及模糊查询,函数

时间:2016-06-11 14:29:09      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

--创建表格
create table xinxi
(
 code int not null,
 name varchar(50) not null,
 birth varchar(50) not null,
 sex   char(10)  not null,
 score  decimal(18,2) not null,
 banji  varchar(20)  not null,
)
--创建一班数据
insert into xinxi values(101,张三,1990年3月2日,,86,一班)
insert into xinxi values(102,王丽,1991年5月5日,,95,一班)
insert into xinxi values(103,王五,1990年10月3日,,86,一班)
insert into xinxi values(104,李四,1992年11月11日,,89,一班)
insert into xinxi values(105,张红,1990年9月5日,,80,一班)
--查询一班列表
select *from xinxi
go
--创建二班数据
insert into xinxi values(201,赵六,1990年4月2日,,94,二班)
insert into xinxi values(202,赵红,1991年6月6日,,95,二班)
insert into xinxi values(203,马七,1990年5月9日,,86,二班)
insert into xinxi values(204,刘九,1992年12月20日,,78,二班)
insert into xinxi values(205,马丽,1990年7月5日,,92,二班)

--查询二班数据
select *from xinxi
go
--查询一班所有的姓名
select name from xinxi where banji=一班
go
--查询二班所有的姓名
select name from xinxi where banji=二班
go
--查询所有的姓名
select name from xinxi
go
--查询二班第二列所有内容
select *from xinxi where code=202
go
--查询班级,姓名,分数
select name,score,banji from xinxi
go
--查询分数为86的人的名字
select name from xinxi where score=86
go
--删除二班内容
delete from xinxi where banji=二班
go
--创建二班数据
insert into xinxi values(201,赵六,1990年4月2日,,94,二班)
insert into xinxi values(202,赵红,1991年6月6日,,95,二班)
insert into xinxi values(203,马七,1990年5月9日,,86,二班)
insert into xinxi values(204,刘九,1992年12月20日,,78,二班)
insert into xinxi values(205,马丽,1990年7月5日,,92,二班)
--查看一下信息
select *from xinxi
go
--查询所有分数在90分以上的
select * from xinxi where score between 90 and 100
select * from xinxi where score>90


--模糊 查询,用%表示
--%可以表示任意的字符,不管长度如何
--like  关键词,像
--查看所有姓赵的
select * from xinxi where name like 赵%
--查看姓李的并且名字只有两个字
--下划线代表任意一个字符
select *from xinxi where name like 李_

--分数从小到大排列  后缀为asc 默认不写,就是升序
select * from xinxi order by score
--降序 后缀为desc
select * from xinxi order by score desc

--查看分数排名前三名人员所有的信息
select top 3 *from xinxi order by score desc


--聚合函数
--AVG 求平均数
--as表示列命显示为
--求平均分数
select AVG(score) as 平均分 from xinxi
--查询一班的平均分
select AVG(score)as 一班平均分 from xinxi where banji =一班



--count 求个数
select COUNT(*)from xinxi
--查询姓王的有几个
select  COUNT(*)from xinxi where name like 王%


--MAX 求最大
select MAX(score)from xinxi where banji=二班

--MIN 求最小
select MIN(score)from xinxi where banji=二班

--sum 求总和
select SUM(score)from xinxi where banji=一班


--group by 分组
select banji from xinxi group by banji

--分组之后看看每个班级的平均分
select banji, AVG(score)as 平均分 ,COUNT(*)as 人数 from xinxi  group by banji 


--having 后面只能跟聚合函数
select banji,AVG(score) as 平均分 from xinxi where score>85  group by banji having COUNT(*)>3



--select 作用 查询
select 7+19




--数学函数 
--ABS 绝对值
select ABS(-44)

--ceiling 上线
select CEILING(3.14)
--floor 下线
select FLOOR(3.14)

--POWER 谁的几次方

select POWER(3,3)

--ROUND  四舍五入,逗号后面表示小数点后有几位
select ROUND(44.444,0)

--SQRT 平方根
select SQRT(8)
--SQUARE 平方
select SQUARE(2)


--字符串函数
--ASCII 将字符转化为数值
select ASCII(a)
select ASCII(name)from xinxi

--CHAR 将 ASCII值转换为字符
select CHAR(97)

--CHARINDEX 查看此字符串首次出现的位置
select CHARINDEX(d,abcdefg)
--字符串拼接+

--left 从左侧截取多少个
select LEFT(abcdefghigk,3) 


--right从右侧截取多少个
select right(abcdefghigk,3) 

--LEN 查看字符串的长度,前面的空格算,后面的空格不算
select LEN(    abc   )

--LTRIM RTRIM 删除左侧右侧的位置

-- 时间日期函数
set DATEFIRST 1
SELECT @@DATEFIRST AS 1

--DATEDIFF  时间差  参数1指定哪个数,参数2是开始,参数3是结束
SELECT SYSDATETIME()--获取更精确的系统时间



--数据类型转换CAST CONVERT
SELECT CAST(123 AS VARCHAR(20)) 

 

数据库创建两个表格及模糊查询,函数

标签:

原文地址:http://www.cnblogs.com/fengsantianya/p/5575264.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!