最近终于有空重启C#的学习,看完了一个实战项目之后发现自己的sql server相关知识还不是很牢固,于是找到课程的特定章节进行一次专门的学习,关于SQL Server除了要学习基本的数据查询,还要对单表查询,多表查询,视图,存储过程,触发器,函数,索引,约束等方面进行深入的了解。
文章以之前购买的课程为基础,进行笔记的整理,视频是加密的,只能本地观看,sql脚本的话可以复制过来,按照自己的思路和语言进行整理,尽量让所有人都能看懂。
在学习之前首先需要创建专门的数据库并插入数据,下边贴上百度网盘的链接,永久有效,先复制提取码,再打开链接即可下载。
链接:https://pan.baidu.com/s/1XUnpiiXGIhwH6t5WZAG2HA
提取码:hbei
除了可以用T-SQL脚本创建数据库,还可以使用安装数据库是带的企业管理器进行简单数据库的创建,可视化界面,操作方便,但一般用来测试,平时很少用,我自己看了一遍,暂时会用,时间长可能会忘吧。
简单铺垫一下,进入本文的正题,SQL Server的基本数据查询,上边百度网盘链接中有该脚本的全部内容
将列名改为 中文查询并显示
参照下面的sql语句将列名改为 中文查询并显示需要使用 as 关键字,也可以用等号先写中文名字,再写列名。
select StudentName as 姓名,Gender as 性别,出生日期=birthday
from Students where Gender='男'
查询时使用 + 拼接两列数据
使用加号可以对数据库内两列数据类型一致的数据进行拼接,具体效果如下
--查询时使用 + 拼接两列数据
select 姓名=StudentName,地址和电话=StudentAddress+'【'+PhoneNumber+'】'
from Students where Gender='男'
如果查询的数据为值类型时则会进行运算相加,用这种方法可以查询总成绩
--字符类型使用加号拼接,值类型使用加号会进行运算
select 总成绩=CSharp+SQLServerDB from ScoreList
查询为空的数据
在此之前数据库中没有为空(NULL)的数据,因此需要首先插入一条,查询空数据需要使用 is 关键字
--插入一条空数据
select * from ScoreList
insert into ScoreList(StudentId,CSharp) values(100009,88)
--查询为空的数据
select * from ScoreList where SQLServerDB is null
查询时增加一个常量列
这种方法可以为查询结果统一加上一列,在某些情况下很有用,特此记录
--查询时增加一个常量列
select StudentName as 姓名,Gender as 性别,出生日期=birthday,所在学校='北京大学'
from Students where Gender='男'
按数量或百分比查询
top 5 即可查询前五个数据
--查询前五个
select top 5 StudentName,Gender,Birthday from Students
数据库内共有十条数据,查询百分之20即为2条,没毛病,查询时需要使用 percent 关键字
--使用 percent关键字查询前百分之20
select top 20 percent StudentName,Gender,Birthday from Students
升序排序&降序排列
排序在查询过程中也是很常用的一种操作,首先是以CSharp成绩进行升序排列,93>>93>>95>>96。
--升序排列,可以再查询时直接加分查询时也要加上
select StudentId,(CSharp+5) as C#,DB=SQLServerDB
from ScoreList where (CSharp+5)>90
order by CSharp ASC
其次是降序排列,以CSharp成绩进行降序排列,96>>95>>93>>93。
--降序排列
select StudentId,(CSharp+5) as C#,DB=SQLServerDB
from ScoreList where (CSharp+5)>90
order by CSharp DESC
作者:晨岩
本站所有文章除特别声明外,均采用 BY-NC-SA 4.0 许可协议。转载请注明出处!