zoukankan      html  css  js  c++  java
  • 联结

    联结其实理解起来很简单,这里做一下学习笔记主要是为了术语的熟悉。

    联结使得数据库的伸缩性加强很多。

    Let us see see

    Select Cname,Pname,Pprice

    From Customers,Products

    Where Customers.CID=Products.CID

    Order by Cname,Pname

    红色标注的语句再熟悉不过额,就连数据库报错都记得:CID对象名不明确。

    All right:在引用的列可能出现二义性时,必须使用完全限定列名。

    看似简单的where语句额,其实呢,如果没有上面的where语句,结果会怎样?

    Select Cname,Pname,Pprice

    From Customers,Products

    Order by Cname,Pname

    这样查询的结果就是:笛卡尔积

    就是说两张表里的行数相乘了,结果可想而知。

    有时会有返回称为叉联结(cross join)的笛卡儿积的联结类型。

    接着,再看看这个查询:

    Select Cname,Pname,Pprice

    From Customers Inner join Products

    On Customers.CID=Products.CID

    Order by Cname,Pname

    内联了一下,其实结果都一样,只是在用法上还是首选Inner join,主要是因为使用明确的联结语法能够确保不会忘记联结条件,但是有时候会影响性能。

  • 相关阅读:
    [原]80386中断表
    [原]elf可执行连接文件格式
    [原]nasm语法
    VLAN基础配置及Access接口
    配置hybird接口
    配置Trunk接口
    [导入]Oracle常用技巧和脚本
    [导入]ORACLE 常用的SQL语法和数据对象
    [导入]Oracle 基本知识
    [导入]Oracle特殊包
  • 原文地址:https://www.cnblogs.com/howie/p/2607183.html
Copyright © 2011-2022 走看看