zoukankan      html  css  js  c++  java
  • left join用法

    表1: Person
    +-------------+---------+
    | 列名 | 类型 |
    +-------------+---------+
    | PersonId | int |
    | FirstName | varchar |
    | LastName | varchar |
    +-------------+---------+
    PersonId 是上表主键

    表2: Address
    +-------------+---------+
    | 列名 | 类型 |
    +-------------+---------+
    | AddressId | int |
    | PersonId | int |
    | City | varchar |
    | State | varchar |
    +-------------+---------+
    AddressId 是上表主键

    编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
    FirstName, LastName, City, State

    解法:不能使用常规的关联查询,因为题目说明不是每个person都有地址信息
    所以使用left join来查询,右表没有信息的时候就不显示
    LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
    反例:select FirstName,LastName,City,State from Person,Address where Person.PersonId = Address.PersonId因为不是每个person都有address,所以where后面的语句会被过滤掉,inner join具有同样功能
    正例:select FirstnAME,LastName,City,State from Person left join Address on Person.PersonId = Address.PersonId

  • 相关阅读:
    通用页面调用APP 互通
    HTML5[5]:在移动端禁用长按选中文本功能
    JAVA 中的基础
    手机访问PC网站自动跳转到手机网站代码
    自适应的设置字体的方式
    localStorage 与 sessionStorage
    《高级程序设计》3 基本慨念
    javascript基础
    jQuery技巧
    jQuery性能优化
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10666554.html
Copyright © 2011-2022 走看看