Orcale(4)简易多表查询1

1.参照完整性:从表外键的值参照主表主键进行填充,或者从表外键为NULL。
    一般软件开发实务中,外键都是参照主键进行编写

2.外键:主表主键如果出现在从表中,在从表中被称为外键。

3.SELECT的基本语法定义:
    SELECT 表别名.列名1 别名,表别名.列名1 别名      --- 数据项选取
      FROM 表名1 别名,表名2 别名......表名N 别名    --- 解决数据来源问题
     WHERE 查询条件
    例如:
    -- 查询班级下学生的相关信息,项目包括:班级名称,班级状态,姓名,身份证号
    SELECT A.CNAME,A.CSTATE,B.SNAME,SNUMBER
      FROM CLASSES A,STUDENT B
     WHERE A.CID = B.CID

4.等值连接:
    将任意两个表的列,如果内容上相等,就可以拼接到一起练成一行,表示一个数据含义
    (1)如果两个表存在主从关系,那么就是将主表主键与从表外键建立等值关系
    
5.笛卡尔积与连接查询:
    笛卡尔积:两张表中记录总数的乘积,
        形成的条件:SELECT语句中查询条件编写不恰当
    连接查询:就是在笛卡尔积的基础上做数据的二次筛选
    
6.对于某一结构:电子商务系统中的角色;
    (1)供应商:商品的所有者
    (2)消费者:商品的购买者
    (3)商品:媒介
    (4)商品销售信息:描述的供销关系
    注意:在电子商务系统中,供销商和消费者角色可以自由转换
        
7.多表关联查询,常见的表结构特征;
    (1)单线连珠
        由从表开始逐级向上,通过外键连接主键
        如:查询所有供应商的商品销售信息(不考虑性能)
        -- 包括:商品流水号商品名称,供应商ID,供应商名称,销售日期,销售数量
        SELECT B.HYID,B.HYMC,A.SPID,A.SPMC,C.XSRQ,C.XSSL
          FROM TSPB A,THYB B,C.TXSB
         WHERE A.HYID = B.HYID
           AND A.SPID = C.SPID
         在处理多个表查询时,可以先连接两个逐个添加。
    (2)一主多从
    (3)一从多主
    
8.SQL语句的执行规律和编写原则:
    (1)SQL同一子句下,按照倒序原则执行
    (2)先做选择,后做连接,以提高性能
        在编写WHERE的时候,将所有的选择条件写在后面,连接条件写在前面
        对于FROM语句,从表在前,主表在后(基于主表驱动原则编写FROM)
            当两个表不存在主从表关系时,谁的数据少谁放在后面
         -- 查询消费者5的购物清单:消费者ID,消费者名称,购买日期,购买数量,所购商品名称
         SELECT B.HYID,B.HYMC,C.SPMC,A.XSRQ,A.XSSL
           FROM TSXB A,THYB B,TSPB C
          WHERE A.SPID = C.SPID
            AND A.HYID = B.HYID
            AND B.HYID = 5
    
    
    
    
    
    
    
    
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值