书接上回

一起学习下SQL中的表连接

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

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

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

ok 实干家开始

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

 select sname,ssex,sbirthday from Student
union
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 咱们开始按照上面的解释来翻译下这句话

 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

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

T-SQL编程语句的更多相关文章

  1. SQL编程语句

    视图 视图就是我们查询出来的虚拟表创建视图:create view 视图名 as SQL查询语句,分组,排序,in 等都不能写视图的用法: select * from 视图名 SQL编程 定义变量:d ...

  2. sqL编程篇(三) 游标与存储过程

    sql编程2 游标与存储过程 sql编程中的游标的使用:提供的一种对查询的结果集进行逐行处理的一种方式不用游标的处理解决方式:逐行修改工资update salar set 工资=‘新工资’ where ...

  3. SQL编程篇 (二) 定义与流程控制

    分类: sql编程:标准的sql 编程 * 纯sql 在标准的编程中又分为 sqlserver-->T-sql oracle-->pl-sql(扩展) 变量:在使用变量之前先定义 声明变量 ...

  4. SQL SELECT 语句

      本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...

  5. SQL Server(六)——索引、视图和SQL编程

    1.索引 添加索引,设计界面,在任何一列前右键--索引/键--点击进入添加某一列为索引 2.视图 视图就是我们查询出来的虚拟表 创建视图:create view 视图名 as SQL查询语句,分组,排 ...

  6. 万能的 SQL编程

    简介:T-SQL语句创建库.创建表和听.和添加约束等.T-SQL是数据库结构化查询语言,常见的增加.删出.修改.查询.创建库和创建表的语句,还支持定义变量.输出语句.逻辑控制语句(IF.CASE.WH ...

  7. sql编程小结

    对照mysql5.1手册,对这几天学的sql编程进行小结,主要涉及触发器.存储过程.权限管理.主从分离等,权当抛砖引玉,高手请略过. 一.触发器 通俗的说就是在指定的数据表增删改的前或后触发执行特定的 ...

  8. ORACLE PL/SQL编程详解

    ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...

  9. SQL编程之高级查询(子查询)以及注意事项

    SQL编程之高级查询(子查询)以及注意事项   1.什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强大的复合命令.子查询最常用于SELECT-SQL命 ...

  10. SQL Server数据库(SQL Sever语言 函数以及SQL编程)

    1.数学函数:操作一个数据,返回一个结果 --去上限: ceiling ☆select ceiling(price) from car --去下限:floor ☆select floor(price) ...

随机推荐

  1. BOM基础(三)

    在我之前关于DOM的文章里,其实已经有提到过事件的概念.在讲事件之前,首先要知道的就是javascript是由事件驱动的.什么叫事件驱动呢?打个比方,比如我们在页面中点击一个按钮,才会跳出一个窗口或者 ...

  2. ACM 重建二叉树

    重建二叉树 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!).   输入 输入有多组数 ...

  3. JAVA面试题和答案

    本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能 ...

  4. js/jQuery中load()、onload()、ready()的区别

    一.两大事件 load事件:指页面包含图片等文件在内的所有元素都加载完毕后执行的事件. ready事件:表示文档结构已加载完成(不包括图片等非文字媒体文件) 浏览器页面渲染的过程 - 寸寸君 - 博客 ...

  5. DevOps的几个场景

    名词: 服务发现: 用来确保服务的位置无关性,通过服务名来查询获得服务的实际地址. 名字解析: 用来确保服务器位置无关性,通过机器名查询获得机器的实际IP地址. 场景一: 特点: 应用少,流量轻,数台 ...

  6. Xamarin自定义布局系列——PivotPage,多页面切换控件

    PivotPage ---- 多页面切换控件 PivotPage是一个多页面切换控件,类似安卓中的ViewPager和UWP中的Pivot枢轴控件. 起初打算直接通过ScrollView+StackL ...

  7. golang RWMutex读写锁分析

    RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 数据结构设计: type RWMutex struct { w Mu ...

  8. (11)连个工具类之间的比较4.Collections与Arrays

    集合框架中的工具类:特点:该工具类中的方法都是静态的. Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序. int binarySearch(list,key) ...

  9. MySQL表-----查询------

    ``模糊查询4.2.1[使用like进行模糊查询]注意:like运算副只用于字符串,所以仅与char和varchar数据类型联合使用例:select * from a where name like ...

  10. JQ鼠标右键点击功能 兼容IE8

    //阻止浏览器当前DIV默认右键事件 $("div").unbind("mousedown").bind("contextmenu", fu ...