SQL(二)

1、复习
-》E-R模型及关系型数据库
-》三范式、关系的存储方式
-》界面、脚本操作:数据库、表的创建
-》数据的增加、修改、删除


2、查询
-》为表起别名as
-》查询全部列、指定列
为列起别名as
-》查询前n部分数据:
top n 列名:表示查看前n行
top n percent 列名:表示查看前百分之几的数据
-》排序:order by 列名1 asc|desc,列名1 asc|desc...
-》消除重复行:distinct
-》条件查询:写在where后面
对行进行筛选,返回bool类型的值,如果某行中的列数据满足条件,则加入结果集,否则不出现在结果集中
比较运算符:=,>,>=,<,<=,!=或<>
between ... and ...表示在一个连续的范围内
in表示在一个非连续的范围内
逻辑运算符:and,or,not
模糊查询:用于处理字符串类型的值,运算符包括:like % _ [] ^
%与_写在[]中表示本身的含义
在[]表示一个连续的范围可以使用-
^写在[]内部的开头,表示不使用内部的任何字符
null的判断:使用is null或is not null,与其它值计算时返回null,排序时null被认为是最小
优先级:小括号,not,比较运算符,逻辑运算符
-》连接:join 表名 on 关联条件
内连接:inner join,两表中完全匹配的数据
左外连接:left outer join,两表中完全匹配的数据,左表中特有的数据
右外连接:right outer join,两表中完全匹配的数据,右表中特有的数据
完全外连接:full outer join,两表中完全匹配的数据,左表中特有的数据,右表中特有的数据
-》聚合函数:对行数据进行合并
sum,avg,count,max,min
一般是对数字类型的列进行操作
一条查询中可以同时写多个聚合函数,但是不能与普通列混写
聚合中的null问题:不参与计算
-》开窗函数:over()
将统计出来的数据分布到原表的每一行中
结合聚合函数、排名函数使用
-》分组:group by 列名1,列名2...
聚合函数一般结合分组使用,进行分组内的数据进行统计
根据指定列进行分组
分组后条件筛选:having ...
-》总结:完整的select语句及执行顺序
select distinct top n *
from t1 join t2 on ... join t3 on ...
where ....
group by ... having ...
order by ...


-》练习:查询学生姓名、总分


3、联合查询
-》将多个查询的结果集合并成一个结果集
-》联合要求:
结果集列数要一致
对应列的类型要一致
-》union、union all、except、intersect
-》用处:在查询结果处显示汇总


4、快速备份
-》向未有表备份:select 列名 into 备份表名 from 源表名
-》说明:备份表可以不存在,会新建表,表的结构完成一致,但是不包含约束
如果想只包含结构不包含数据,可以加个top 0
-》向已有表备份:insert into 备份表名 select 列名 from 源表名


5、内置函数
-》类型转换函数:
cast(expression as data_type):将任意类型转到到任意类型
convert(date_type,expression[,style]):将任意类型转到到任意类型
如果目标类型是字符串,则style可以设置格式,具体格式参考帮助
-》字符串函数:ascii(求字符的ascii值),char(根据ascii转到字符),
left,right,substring:字符串截取
len:返回字符串的长度
lower,upper:转小写、大写
ltrim,rtrim:去空格
注意:索引从1开始,而不是0
-》日期函数:getDate(获取当前日期时间),
dateAdd(日期加),
dateDiff(日期差),
datePart(取日期的某部分),year,month,day
注意:dateAdd、dateDiff、datePart的第一个参数使用双引号
-》练习:以“2015-1-1”的格式显示日期
说明:不要自动补零;之间用-分隔


-》作业:
查询科目名称、平均分
查询班级名称、平均分
查询班级名称、科目名称、平均分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值