数据库视频第六章总结

**

第六章

**

第一节
简单的Select语句
读取数据库信息的语句,select 语法格式:
Select [ALL|Distinct]select_list ’查询表中的某个列
[Into new_table]
FROM TABLE_Soure ’具体哪个表查询数据
[Where search_conditions] ’设置搜索条件
[Group by group_by_expression] ’分组查询
[Having search_conditions] ’查询判断
[Order by order_expression[ASC|DESC]] ‘查询的如何排序

使用简单的Select字句:
Select * 学生信息 ’*表示查询表中的所有字段
指定查询单个列的信息:select * 姓名,性别,from 学生信息

SQL Server2014新建查询小技巧计算器:Select (±*/) as 计算结果 ’还可以当计算器用,计算结果是他的列明。

查询表中都有哪些民族:select 民族 from 学生信息,这条语句查询的是表中的全部名族,
select Distinct 民族 from 学生信息,这条语句多加了一个关键字(Distinct)就可以查询得到表中有哪些名族种类。

第二节
设置查询条件

精确查询:select * from 学生信息 where 姓名=‘崔鹏’
多条件查询:select * from 学生信息 where 民族=‘汉族’ AND 性别=‘男’ AND 出生日期=‘1997-05-09’
使用通配符查询:select * from 学生信息 where 民族like’汉族%’

第三节
排序

表中结果按升序排序:select * from 成绩信息 where 考试编号='04’AND 课程编号=‘1004’
order by 分数 ASC
按照降序排序:select * from 成绩信息 where 考试编号='04’AND 课程编号=‘1004’
order by 分数 DESC
重复记录:select * from 成绩信息 where 考试编号='04’AND 课程编号=‘1004’
order by 分数 asc
select * from 成绩信息 where 考试编号='04’AND 课程编号=‘1004’
order by 分数 desc

第四节
分组

这一节后边有点懵:select 课程编号, AVG (分数) from 成绩信息 where 课程编号='1004’group by rollup(课程编号)

第五节
使用函数

select * from 成绩信息 where 考试编号='01’AND 课程编号=‘1001’
select sum(分数) from 成绩信息 where 考试编号=‘01’ and 课程编号=‘1001’

select (top 2 分数) from 成绩信息 where 考试编号='01’AND 课程编号=‘1001’
order by (分数) DESC
MAX取最大值、MIN最小值、AVG平均值函数、sum求和函数、

第六、七节
使用Having子句

select 考试编号,课程编号,AVG(分数) from 成绩信息 Group by 考试编号,课程编号
HAVING AVG(分数)>=46
Order by 考试编号

插入数据
Insert语法

Insert[into]table_or_view[(column_list)] Values data_values
table_or_view:用于制定向数据表中添加数据的表或视图名称。
column_list:用于指定该数据表的列名,可指定一列或多列,所有列必须放在括号里边。指定多列时,各列必须用逗号隔开。
data_values:用于指定向数据表中插入的数据值。
用Insert into表中插入数据:insert into 学生信息 values(‘4’,‘大法师’,‘女’,‘1997-06-09’,‘汉族’,‘10086’,‘陕西西安’)

第八、九、十节
Insert…Select 语句

语法格式:
INSERT table_name[column_list]
SELECT column_list
FRO, table_list
WHERE search_condirions
复制表——学生信息给学生信息1里边插入信息:
insert 学生信息1
select * from 学生信息 where 家庭住址 like ‘河北廊坊%’

Select…Into语句 创建一个临时表: #table
语法格式:
Select <select_list> ‘列
Into new_table ‘新建的表名
From[<table_source>][,…n]
Where<search_condition>
select *
into #table
from 学生信息
where 性别=‘男’
select * from #table

Update语句语法
Update[top][table_name|view_name] ‘top函数 view函数 talbe列明
Set
[column_name]=[expression]…
Where[search_conditions]
实践: select * from 学生信息
update 学生信息
set 姓名=‘士大夫’,出生日期='1983-10-23’where 学号=‘123’

第十一节
在Update 语句使用From子句

实践:select * from studentINFO
update studentINFO set s_sex =b.性别,s_address =b.家庭住址,s_id =b.学号
from studentINFO a join 学生信息 b on a.s_name =b.姓名
where b.性别=‘女’

第十二节
Delete 语句语法格式

Delete from <table_name>
[Where]
实践:select * from 学生信息1
delete from 学生信息1
where 学号=‘432’

第十三节

Top 关键字和top表达式
语法格式:
[
Top(expression)[Percent]
[with ties]
]
实践:declare@i int
set @i=5
select top (6) with ties * from 成绩信息 order by 分数 (红标识是成对出现的。Top(6)是限制返回多少行的)
Update top(6) 学生信息 set 民族=’满族’ ’改变表中民族类型,top6表示前6行
Select * from 学生信息 ’查询返回学生信息

第十四节
Compute子句

语法格式:
[
Compute
[[ AVG| COUNT | MAX| MIN | SUM]]
(ewpression)[,…n]
[by expression [,…n]]
]
实践:select * from 成绩信息 where 课程编号 =‘1004’ order by 考试编号
compute sum(分数),AVG(分数),max(分数),min(分数) by 考试编号

第十五节
在where字句使用运算符

实践:select * from 成绩信息 where 考试编号='04’AND (分数 % 05 =0) ’AND后边按整数倍显示分数
select * from 成绩信息 where 考试编号='04’AND (分数 between 20 and 90) ’限制成绩范围
select * from 成绩信息 where 考试编号='04’AND 分数 not in (74,75,75) ’not in 就是分数不等于那些数,相反 in 的话就等于那些数。

发布了53 篇原创文章 · 获赞 6 · 访问量 3362

猜你喜欢

转载自blog.csdn.net/weixin_44031029/article/details/97753392