书接上回

一起学习下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. 2.css字体单位

    这期简单说说css字体单位 字体单位有三种:px.em.rem 任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px. % 百分比 in 英寸 cm 厘米 mm 毫米 e ...

  2. 对volatile关键字的理解

    本文是基于对 http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 这篇文档的理解 volatile 用volatile修饰的 ...

  3. [读书系列] 深度探索C++对象模型 初读

    2012年底-2014年初这段时间主要用C++做手游开发,时隔3年,重新拿起<深度探索C++对象模型>这本书,感觉生疏了很多,如果按前阵子的生疏度来说,现在不借助Visual Studio ...

  4. java 学习资源

    1.tomcat版本http://tomcat.apache.org/whichversion.html 2.Servlet 2.5规范https://jcp.org/aboutJava/commun ...

  5. Dollar Dayz poj3181

    http://poj.org/problem?id=3181 这个题目一开始就能看出来是个dp问题,但是我并没有一开始就看出来是一个完全背包为题,只是想着根据以前的方法,这个问题应该是可以找到规律的, ...

  6. JavaScript的基本规范

    1.不要在同一行声明多个变量: 2.请使用===/!==来比较true/false或者数值: 3.使用对象字面量替代new Array这种形式: 4.Switch语句必须带有default分支: 5. ...

  7. Spring Data操作Redis详解

    Spring Data操作Redis详解 Redis是一种NOSQL数据库,Key-Value形式对数据进行存储,其中数据可以以内存形式存在,也可以持久化到文件系统.Spring data对Redis ...

  8. Office 365开发概述及生态环境介绍(二)

    本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...

  9. 计算机程序的思维逻辑 (75) - 并发容器 - 基于SkipList的Map和Set

    上节我们介绍了ConcurrentHashMap,ConcurrentHashMap不能排序,容器类中可以排序的Map和Set是TreeMap和TreeSet,但它们不是线程安全的.Java并发包中与 ...

  10. ISO c++ 14 重点介绍[译]

    原文链接 http://marknelson.us/2014/09/11/highlights-of-iso-c14/ 下面是对你的日常开发有重大影响的C++14新变动,列出了一些示例代码,并讨论何时 ...