数据库开发基础-SQl Server 主键、外键、子查询(嵌套查询)
2016-11-19 08:40
393 查看
主键
数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。一个表只能有一个PRIMARY KEY约束,而且PRIMARY KEY约束中的列不能接受空值。由于PRIMARY KEY约束确保唯一数据,所以经常用来定义标识列。
(1)保证实体的完整性;
(2)加快数据库的操作速度;
(3) 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
(4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
主键具有的特点:唯一性、非空性。
设置主键语句示例:
code int primary key, 主键不能为空,不能重复,确保唯一性
设置自增长主键语句示例:
code int primary key identity(1,1)从1开始,每次增长1,添加values时不用添加此列
设置外键:
在要设置外键的表上右键,选择设计,在需要设置外键的列名前右键,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/cef77ebc407af015d3eeab6c9af90df8.png)
选择关系单击,出现对话框,单击添加,单击表和列规范后面的省略号,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/d8e042ba857e03ddf7305e25e4c23696.png)
在出现的界面做出如下操作:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/ae1b2770dbfe3c20cb65421ed18e11cf.png)
点击确定,再点击确定,操作成功。
子查询,又叫做嵌套查询。
将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。
子查询有两种类型:
一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数;
另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表。
新建一个部门表,一个员工表,员工表中每个人员的部门列用部门的编号。
子查询示例:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/569ff624245cf4783adcbecdab2d3266.png)
练习一:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/d2bfaeee7dc37ea2e010766ccbcbb5f9.png)
练习二:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/284592fe2ef7ae0002259a96c5d48b61.png)
练习三:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/b6d33a89683c33e784709fccc48e084b.png)
分页查询语句示例:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/f04cd91af1d614d3b81adfafb7853b1a.png)
查看总共可以分为多少页:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/694552fc942528e3f4f1d4e0ce2b8715.png)
练习:
子查询练习一:查询销售部里的年龄大于35岁的人的所有信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/332ef7cc0bbeed57d8da077463307a3d.png)
练习二:将haha表中部门的所有数字代码转换为bumen表中的字符串显示
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/683abf36df10dd5b05246a15b4aef937.png)
练习三:将haha表中部门的所有数字代码转换为bumen表中的字符串显示,并且显示每个人的主管
数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。一个表只能有一个PRIMARY KEY约束,而且PRIMARY KEY约束中的列不能接受空值。由于PRIMARY KEY约束确保唯一数据,所以经常用来定义标识列。
主键的作用
主键的主要作用如下:(1)保证实体的完整性;
(2)加快数据库的操作速度;
(3) 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
(4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
主键具有的特点:唯一性、非空性。
设置主键语句示例:
code int primary key, 主键不能为空,不能重复,确保唯一性
设置自增长主键语句示例:
code int primary key identity(1,1)从1开始,每次增长1,添加values时不用添加此列
设置外键:
在要设置外键的表上右键,选择设计,在需要设置外键的列名前右键,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/cef77ebc407af015d3eeab6c9af90df8.png)
选择关系单击,出现对话框,单击添加,单击表和列规范后面的省略号,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/d8e042ba857e03ddf7305e25e4c23696.png)
在出现的界面做出如下操作:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/ae1b2770dbfe3c20cb65421ed18e11cf.png)
点击确定,再点击确定,操作成功。
子查询,又叫做嵌套查询。
将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。
子查询有两种类型:
一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数;
另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表。
新建一个部门表,一个员工表,员工表中每个人员的部门列用部门的编号。
子查询示例:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/569ff624245cf4783adcbecdab2d3266.png)
练习一:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/d2bfaeee7dc37ea2e010766ccbcbb5f9.png)
练习二:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/284592fe2ef7ae0002259a96c5d48b61.png)
练习三:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/b6d33a89683c33e784709fccc48e084b.png)
分页查询语句示例:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/f04cd91af1d614d3b81adfafb7853b1a.png)
查看总共可以分为多少页:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/694552fc942528e3f4f1d4e0ce2b8715.png)
练习:
子查询练习一:查询销售部里的年龄大于35岁的人的所有信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/332ef7cc0bbeed57d8da077463307a3d.png)
练习二:将haha表中部门的所有数字代码转换为bumen表中的字符串显示
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/683abf36df10dd5b05246a15b4aef937.png)
练习三:将haha表中部门的所有数字代码转换为bumen表中的字符串显示,并且显示每个人的主管
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/31/351075536145fc518a69602e0311e330.png)
相关文章推荐
- 数据库开发基础-SQl Server 链接查询
- 数据库基础(子查询、设置主键外键)
- Visual C# 2008+SQL Server 2005 数据库与网络开发--11.2.1 LINQ的查询功能
- Visual C# 2008+SQL Server 2005 数据库与网络开发--11.2.2 LINQ的基本查询操作
- Sql Server 2005数据库sql代码写外键、复合键作主键
- sqlserver 基础(增、删、改、查、链表查询、建立聚焦索引、主键、创建约束、创建外键)、触发器、存储过程
- SQL Server 查询表的主键外键和被谁引用的表
- Visual C# 2008+SQL Server 2005 数据库与网络开发--4.4.1 查询数据语法
- ORACLE 数据库(查询--主键外键约束)
- 黑马程序员--SQL Server基础<一>新建数据库、主键、数据类型
- ORACLE 数据库(查询--主键外键约束)
- 【Mysql】利用内连接与嵌套查询实现多表查询,主键、外键的基本概念
- Visual C# 2008+SQL Server 2005 数据库与网络开发--第11章 LINQ--语言集成查询简介
- Visual C# 2008+SQL Server 2005 数据库与网络开发--11.3.3 LINQ to SQL的数据库查询
- 数据库主键、外键、表结构查询
- SQL使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- Visual C# 2008+SQL Server 2005 数据库与网络开发――第2章 C#语言基础
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.6 查询关键字
- 如何在数据库中查询所有用户表的表名、主键名称、索引、外键
- 查询一个数据库中有几个表引用了其中某个特定表的主键做为其外键