SqlServer2008-学习进修笔记资料(自己分析总结~).doc
文本预览下载声明
-
SQL Server 2008学习笔记
第一章 SQL Server 基础
1、利用 T-SQL 语句创建数据库, 删除一个数据库, 更改数据库名称
第二章 T-SQL 语句
1、SQL 2008 视频教程-数据库表常用术语
数据表常用术语:
关系:关系即二维表,每一个关系有一个关系名,就是表名。
表中的行,称之为记录
表中的列,称之为字段或属性
关联:是指不同数据库表之间的数据彼此联系的方式。
关键字:属性或属性的组合,可以用于维一标识一条记录。
外部关键字:如果 表中的一个字段(即 表中的 列),不是本表中的关键字而是其它表
的关键字,称之为外部关键字。
1
2、SQL 2008 视频教程-系统数据库
Master(主)
Model(模型)
Tempdb (临时数据库)
Msdb(MS 数据库)
3、T-SQL 创建数据库详解
4、T-SQL 语句 3 (T-SQL 语句浏览表格(教师表))
Select * from 教师表 --表示浏览教师表里所有的信息
*号是通配符,表示所有的意思
执行 Select * from教师表结结果如下
2
5、用 T-SQL 语句在教师表里如何增加 字段,删除某个 字段,更新某个字段的内容
(1)用 T-SQL 语句在教师表里如何增加 字段
执行 Select * from教师表结结果如下
(2)用 T-SQL 语句在教师表里如何删除某个 字段
执行 Select * from教师表结结果如下
3
(3)用 T-SQL 语句在教师表里更新某个字段的内容
执行 Select * from教师表结结果如下
6、查询(重中之重!!!)
(1) 查询要用到的三张表:(下面的所有操作都是基于这三张表)
1.emp 表(员工表 employee)
2.dept 表(部门表 department)
3.salgrade 表(工资等级表)
4
(2)对以上三张表 查询操作 (包括 计算列,distinct,between,in,top,null,
order by,模糊查询,聚合函数,group by,having,链接查询)
注意 distinct 的用法
5
例子如下图:
6
实例如下:
7
注意 group by 与 COMPUTE BY 的区别
GROUP BY 子句有个缺点,就是返回的结果集中只有合计数据,而
没有原始的详细记录。如果想在 SQL SERVER 中完成这项工作,可
以使用 COMPUTE BY 子句。(具体看下面的例子)
运行结果对比:
8
9
10
查询的顺序 (非常重要!!!)
11
习题集
第一个习题
求出每个员工的 姓名 部门编号 薪水 和 薪水的等级
第二个习题
查找每个部门的编号 该部门所有员工的平均工资 平均工资的等级
第三个习题
查找每个部门的编号 部门名称 该部门所有员工的平均工资 平均工资的等级
第四个习题
求出emp 表中所有领导的信息
第五个习题
求出平均薪水最高的 部门的编号 和 部门的平均工资
第六个习题
有一个人工资最低 把这个人排除掉
剩下的人中工资最低的前个人的姓名 工资 部门编号 部门名称 工资等级 输出
12
答案及运行结果:
13
14
7. 两个表(dept 表 和 salgrade 表)内连接,左连接和右连接
下面只给了右连接的运行结果(其它的自己试)
15
8. 约束、索引和视图
约束(主键(即关键字),外键(外部关键字),唯一键,非空,
check,default ,触发器)
索引
唯一的索引 (Unique Index)
在表格上面创建某一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
16
CREATE UNIQUE INDEX 索引名称
ON 表名称 (列名称)
create unique index teacher_index on teacher (teacher_address)
--在 teacher 表中 teacher_address 字段创建了一个唯一的索引 (名称为
teacher_index)
视图
为什么需要视图:
17
注意:不能一次执行,应该创建完视图后执行以下,再执行下面的
代码
9.T-SQL 编程
所以一般来说,如果含有中文字符,用 nchar/nvarchar,如果
纯英文和数字,用 char/varchar。
注意:如果想同时显示多个变量 用 select
如果想显示单个变量 用 print
18
执行结果为:
执行结果为:
执行结果为:
19
执行结果为:
执行结果为:
10. 函数
20
为局部变量
执行结果为:
字符串函数:
执行结果为:
日期函
显示全部