(二)表的连接与外键约束

(二)表的连接与外键约束,第1张

概述外键约束和表连接 【建立表的关系】 1.额外建立一张表描述两个表之间的关系,存储两张需要连接的表的主键对应关系。 2.利用外键约束 外键:一张表的某个字段引用着另一张表的主键,在数据多的表中多一个字段,存储对应的另一张表的主键。 外键的创建: CONSTRAINT <外键名前缀> FOREIGN KEY <表中的键名> REFERENCES <引用的表名> (<引用的字段>); 级联: 删除了一部 外键约束和表连接
【建立表的关系】 1.额外建立一张表描述两个表之间的关系,存储两张需要连接的表的主键对应关系。 2.利用外键约束 外键:一张表的某个字段引用着另一张表的主键,在数据多的表中多一个字段,存储对应的另一张表的主键。
外键的创建:
CONSTRAINT <外键名前缀> FOREIGN KEY <表中的键名> REFERENCES <引用的表名> (<引用的字段>);

级联: 删除了一部分,有对应关系的另一个部分会被删除。
【表连接】 假如有t_student 和 t_class两个表,其中t_student中存着学生的姓名和所属班级,t_class中存着班级名称A、B、C,通过外键建立了二者联系后,如果要找出所有A班的人,需要先在t_class中找到班级的主键,然后再去t_student中查找所有符合这个主键的外键值。最简单的方法是使用嵌套查询。
SELECT * FROM t_student WHERE class = (SELECT ID FROM t_class WHERE name = ‘A’);

2.同时查询两张表,会对表进行笛卡尔乘积,产生两表长度之积次查询,应该有足够多的约束才行。 因为多个表中的字段名可能重复,因此使用 表名.字段 语法来访问,可以在表名后起别名(空格后直接写别名)来方便查询。同时查询两张表可以综合查询两个表的字段。 例如下面的语句同样实现上面的功能:
SELECT ts.name sname,tc.name cname FROM t_student ts,t_class tc WHERE ts.class = tc.ID AND tc.name = 'A';
总结

以上是内存溢出为你收集整理的(二)表的连接与外键约束全部内容,希望文章能够帮你解决(二)表的连接与外键约束所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存