关键词

SQL实现LeetCode(175.联合两表)

首先,我们需要明确一下这道题的要求:根据联合两张表的"id"字段,查询出对应的"first_name"、"last_name"和"city"字段。其中,第一张表名为"Person",第二张表名为"Address"。如果这两张表中的"id"字段没有交集,即在某一张表中找不到对应的"id"值,则需要返回null值。

接下来,我们就可以根据这个要求来编写SQL语句了,代码如下:

SELECT 
    Person.first_name, 
    Person.last_name, 
    Address.city
FROM 
    Person 
LEFT JOIN 
    Address 
ON Person.id = Address.person_id;

上面的代码就是查询"Person"表和"Address"表的联合结果,查询条件是"Person"表的"id"字段等于"Address"表的"person_id"字段。这里的LEFT JOIN关键字是表示左连接,即查询"Person"表中所有的记录,如果在"Address"表中没有对应的记录,则返回null值。

示例说明:

假设"Person"表中的数据如下所示:

id first_name last_name
1 Michael Brown
2 John Smith
3 Mary Johnson

"Address"表中的数据如下所示:

person_id city
1 New York
2 San Diego
4 Houston

根据上面的查询条件,我们可以得到下面的结果:

first_name last_name city
Michael Brown New York
John Smith San Diego
Mary Johnson null

可以看到,在"Address"表中没有对应的"id"为3的记录,所以我们在查询结果中返回了null值。

本文链接:http://task.lmcjl.com/news/3410.html

展开阅读全文