sqlserver外键关系有什么用?

最好能举个例子说一下。。还有内连接,外连接什么的。。讲的通俗一点。。谢谢了。。... 最好能举个例子说一下。。

还有内连接,外连接什么的。。讲的通俗一点。。谢谢了。。
展开
 我来答
shaiywu
推荐于2016-02-19 · 知道合伙人金融证券行家
shaiywu
知道合伙人金融证券行家
采纳数:7870 获赞数:90686
毕业于河北经贸大学

向TA提问 私信TA
展开全部
  SQL的主键和外键的作用:

  外键取值规则:空值或参照的主键值。

  (1)插入非空值时,如果主键表中没有这个值,则不能插入。

  (2)更新时,不能改为主键表中没有的值。

  (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

  (4)更新主键记录时,同样有级联更新和拒绝执行的选择。

  简而言之,SQL的主键和外键就是起约束作用。

  主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

  外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
伊人萦香
推荐于2018-02-28 · TA获得超过255个赞
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
外键就是避免外键表与主键表上的主键字段数据有差异。
举个例子,你现在有一个主表tab_h,主键t_id,外键表tab_d,t_id是tab_h的t_id外键。那么你就不能先insert tab_d 或者delete tab_d,因我t_id在tab_h中没有值。这样就违反了外键约束。
当然了,避免这个麻烦,就需要代码写的规范,无论如何,要先对主表做insert ,delete(update 无所谓,但不能修改t_id为tab_h中没有的值)。

内连接就是两个表,通过1个字段连接起来,必须两个表里都有的值才能被连接。外连接就是把两个表全部连接,即使没有的值用null会表示出来。比如
tab1 tab2
t_id t_name t_id t_name
1 a 1 a
2 b 3 e
4 d 4 d
select * from tab1 a join tab2 b on a.t_id=b.t_id ---内连接
t_id t_name t_id t_name
1 a 1 a
4 d 4 d
select * from tab1 a full join tab2 b on a.t_id=b.t_id ---外连接
t_id t_name t_id t_name
1 a 1 a
2 b
3 e
4 d 4 d
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2010-01-21 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1407万
展开全部
主要用於数据约束.
部门表:部门ID(主键),部门名称
员工表:部门ID(外键),员工工号,员工姓名

外键作用是:员工表的部门ID(外键)必须存在於部门表的部门ID(主键),但也可为空.

内连接:select * from 员工表 inner join 部门表 on 部门ID(外键)=部门ID(主键)
显示数据:
1.员工所属的部门必须存在
2.部门里必须有员工

左外连接select * from 员工表 left join 部门表 on 部门ID(外键)=部门ID(主键)
显示数据:
1.所有员工都显示,部门不存在显示为空.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liwei4095
2010-01-22
知道答主
回答量:26
采纳率:0%
帮助的人:12.2万
展开全部
外键啊,昨天刚讲过,嘿嘿出来献丑了
举个例子吧,
a表 里面有ID user pwd permission
b表里面有 Pid permission
permission是权限的意思 假设pid是外键 那a 表里的permission怎么查呢 ,要靠B表查 那这就是外键的作用,我理解吧就是2张表里,b表里有a表里想要得到的东西
,他们之间的联系要靠外键来实现
内连接是只显示满足条件的
select*from a inner join b on a .permission =b.Pid(就是刚说的实现)
完了
外连接
select * from a full join b on a.ID = b.Pid
(我这个够通俗了吧 呼呼 全大白话看不懂哥不依)
在来修改下,举个例子,你和你媳妇舌吻, 那内连接就是取交集 ,舌头纠缠在一起的地方- -!
外连接就是取所有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式