• 多表连接时,主从表的确定


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

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

            比方说,有三个表,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

  • 相关阅读:
    Java面向对象练习输出水仙花
    Java面向对象练习学生信息输出
    java面线对象练习时钟
    java面向对象存取款
    0516Java面向对象求面积练习
    有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
    0516编写西游记人物类
    0514练习
    仓鼠找sugar
    NOIP2018旅行
  • 原文地址:https://www.cnblogs.com/sjqq/p/8424489.html
Copyright © 2020-2023  润新知