zoukankan      html  css  js  c++  java
  • 多表连接时,主从表的确定

           在进行多表的联接查询前,我们需要对多表进行相关的处理,比方说确定主从关系,建立外键,联接时确定中间表等操作.

            一般情况下,建表时先建主表,再建从表,那怎么确定主从关系呢,进一步建立外键约束?

            比方说,有三个表,customers表(customerid--pk,customername),

    orders表(orderid--pk,customerid--fk,orderdate)和   //外键一定是定义在从表里,对应到主表里的主键

    orderitems表(orderitemid---pk,bookid,quantity,orderid---fk),

            从这张表来看,orders表的customerid列为外键,他来自表customers的主键列customerid,因此这就是我们常说的外键引用主键,被引用的表为主表,引用的表为从表.即customers表为主表,orders表为从表;同样的道理下,orderitems表中的orderid列为外键,来自于(引用)表orders的主键列orderid,故针对这两个表来说,orders表为主表,而orderitems表为从表.

             对于删表的顺序,刚好与建表的次序相反,即对于上面三个表来说,先删表orderitems,再删表orders,最后才能删掉customers表.

            在进行多表联接的查询操作时,我们可以以orders表作为中间表,因为他和其他两个表都有关系.即:

    select *

              from orders a join customers c

                            on a.customerid=c.customerid

             join orderitem t

                          on t.orderid=a.orderid

  • 相关阅读:
    vision transformer
    亮剑,gacutil.exe
    MOSS自定义登陆页面
    查看应用程序的进程ID
    基于AD的表单认证 Moss2010
    js 实现拖动
    获取指定数据库表, 以及指定表的数据信息
    二分法
    JZ053表示数值的字符串
    JZ054字符流中第一个不重复的字符
  • 原文地址:https://www.cnblogs.com/sjqq/p/8424489.html
Copyright © 2011-2022 走看看