zoukankan      html  css  js  c++  java
  • DataBase -- JOIN

    SQL JOIN:用于根据两个或多个表中列的关系,从这些表中查数据。

    (为了得到完整数据,我们需要从两个或多个表中获取结果。)

    例如W3School中列出的实例,使用如下语句:

    select Persons.LastName, Persons.FirstName, Orders.OrderNo
    from Persons
    inner Join orders
    on Persons.Id_p = Orders.Id_p
    order by Persons.LaseName
    • 除了上面的inner join还有以下几种连接:
      • JOIN:如果表中至少有一个匹配,则返回行;
      • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行;
      • RIGHT JOIN:即使左表中没有匹配,也从右表中返回所有的行;
      • FULL JOIN:只要其中一个表中存在匹配,则返回行。
    • INNER JOIN语法:(INNER JOIN 与 JOIN是相同的)
    SELECT column_names 
    FROM table_name1
    INNER JION table_name2
    ON table_name1.column_name = table_name2.column_name
    •  LEFT JOIN语法:
    SELECT column_names
    FROM table_name1
    LEFT JOIN table_name2
    ON table_name1.column_name = table_name2.column_name
    • RIGHT JOIN语法:
    SELECT column_names
    FROM table_name1
    RIGHT JOIN tale_name2
    ON table_name1.column_name = table_name2.column_name
    • FULL JOIN语法:
    SELECT column_names
    FROM table_name1
    FULL JOIN table_name2
    ON table_name1.column_name = table_name2.column_name

    Question:

    Table: Person

    +-------------+---------+
    | Column Name | Type    |
    +-------------+---------+
    | PersonId    | int     |
    | FirstName   | varchar |
    | LastName    | varchar |
    +-------------+---------+
    PersonId is the primary key column for this table.
    

    Table: Address

    +-------------+---------+
    | Column Name | Type    |
    +-------------+---------+
    | AddressId   | int     |
    | PersonId    | int     |
    | City        | varchar |
    | State       | varchar |
    +-------------+---------+
    AddressId is the primary key column for this table.
    

    Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:

    FirstName, LastName, City, State
    

    Analysis:

    写一个SQL语句, 返回Person表格中的以下信息,不管这些people是否有住址信息。

    使用上面的LEFT JOIN语句。

    Answer:

    select Person.FirstName, Person.LastName, Address.City, Address.State
    from Person
    left join Address
    on Person.PersonId = Address.PersonId;

      

  • 相关阅读:
    多维数组的索引与切片
    多维数组
    开学第一课Java考试
    大一第九周学习体会
    大一第八周学习体会
    大一第七周学习体会
    大一第六周学习体会
    大一第五周学习体会
    《大道至简》读后感
    大一暑假第四周学习体会
  • 原文地址:https://www.cnblogs.com/little-YTMM/p/5245702.html
Copyright © 2011-2022 走看看