zoukankan      html  css  js  c++  java
  • 数据库创建两个表格及模糊查询,函数

    --创建表格
    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)) 
  • 相关阅读:
    关于slmgr命令
    .msi安装包安装方法(安装错误2503和2502)
    BIOS相关
    C和C#的区别
    关于del命令
    win8快捷键
    Windows 8 系统快捷键热键列表收集
    Android开发环境搭建
    关于Android sdkmanager目录结构的总结
    关于eclipse新建项目问题
  • 原文地址:https://www.cnblogs.com/fengsantianya/p/5575264.html
Copyright © 2011-2022 走看看