T-SQL编程语句

书接上回

一起学习下SQL中的表连接

一般情况下咱们会使用鼠标去进行表连接操作,那针对于像我比较懒的并且眼盲的,不喜欢来回切换,咱们就用到了点T-SQL表连接语句

一般情况咱们从两个表中查出来相似的内容的时候都会是像这样

那么既然都是姓名,性别,出生日期,咱们何不给他都放到一个结果集里面

ok 实干家开始

所用的代码很简单 union 就是简单的纵连接,之前接触到的都是横连接,今天这个是纵链接,下面是代码

1 select sname,ssex,sbirthday from Student
2 union
3 select tname,tsex,tbirthday from Teacher

 

 

现在开始外键控制的表连接,这个稍微有点儿复杂,没关系,几个单词的事儿

咱们还是用这个superise数据库(前面写错了,都怪英语没学好,前面写的是sprise,反正大家知道是这个表就行,不要注意细节)当中的四个表来进行练习

仔细查看上表内容  咱们应该会很快的推断出主外键关系了,那咱们的外键约束大家也很明白了,四个表的链接只需要三行代码就可以实现(并不推荐,自愿)

alter table 外键表名 add constraint 关系名字(自己给他命名这个关系) foreign key  (外键约束的名字) references (约束列名)

拿四个表来讲

alter table Course add constraint Course_Teacher_Tno foreign key (Tno) references Teacher(Tno)

上面看的不明显的话咱们假设下:如表A中的Ids是主键,要约束表B中的Aid列  那么下面咱们的语句就是

alter table B add constraint A_B_Ids foreign key(Aid)  references A(Ids)

可能感觉稍微有点绕 编程语言学的就是语法 跟英语特么一个道理 所以我学起来很头疼 但是有个简单的办法 就是翻译单词

alter:改变

table:表格

add:添加

constraint:直白的翻译过来就是约束,限制,强制的意思

foreign:简单的翻译就是国外,外国

key:可以理解为关键、钥匙

foreign key:官方翻译就是外键

renferences:参考,参照,引用

 

ok 咱们开始按照上面的解释来翻译下这句话

1 alter table B add constraint A_B_Ids foreign key(Aid)  references A(Ids)

 

改变表格B,添加约束 A_B_Ids 外键是 (Aid) 参照 A(Ids)

再给翻译成正常话来讲就是:要参照A(Ids)的格式来约束B表中的Aid列,约束名字命名为A_B_Ids

 

 

 

 

理解不过来的就鼠标,搞不明白的确实会很头疼

 

posted @ 2017-03-16 15:14  Jokerpapapa  阅读(603)  评论(0编辑  收藏  举报