LeetCode - Combine Two Tables

Description: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:

第一次刷SQL题目感觉还是不错的。这个题目大概是说把第一张表和第二张表连接起来。而且第二张表中的Person的Address中的属性可能为NULL。这明显就是个左外链接。

# Write your MySQL query statement below
SELECT FirstName ,LastName, City, State
FROM Person LEFT OUTER JOIN Address ON (Person.PersonId=Address.PersonId);

这里需要说一下左外链接和右外链接的区别。

左外链接是列出左边关系的所有元组,右外链接是列出右边关系的所有元组。下面举个例子。
      PersonName(id,name)
      数据:(1,张三)(2,李四)(3,王五)
      PersonPosition(id,position)
      数据:(1,学生)(2,老师)(4,校长)

左连接的结果:

select PersonName.*,PersonPosition.* from PersonName left join PersonPosition on PersonName.id=PersonPosition.id;
      1 张三 1    学生
      2 李四 2    老师
      3 王五 NULL NULL

右外链接的结果:

select PersonName.*,PersonPosition.* from PersonName right join PersonPosition on PersonName.id=PersonPosition.id;

1    张三 1 学生
      2    李四 2 老师
      NULL NULL 4 校长

时间: 2024-10-30 18:48:09

LeetCode - Combine Two Tables的相关文章

[LeetCode] Combine Two Tables 联合两表

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

LeetCode:Combine Two Tables - 跨表查询

1.题目名称 Combine Two Tables(跨表查询) 2.题目地址 https://leetcode.com/problems/combine-two-tables/ 3.题目内容 现在有两张表Person和Address,它们的表结构如下: 表Person: +-------------+---------+ | Column Name | Type    | +-------------+---------+ | PersonId    | int     | | FirstNam

LeetCode 175 Combine Two Tables mysql,left join 难度:0

https://leetcode.com/problems/combine-two-tables/ Combine Two Tables Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+

LeetCode-Algorithms #001 Two Sum, Database #175 Combine Two Tables

最近两周一直感觉学习比较松懈, 打算加大一点强度, 从今天开始, 希望能在每天正常进度完成后在LeetCode上选一两题写一写, 同时学习一下高手的做法. LeetCode - Algorithms #001 Two Sum 给定一个整数数组, 找出其中两个元素, 使其和等于目标值, 返回这两个元素在原数组中的索引组成的数组. 可以假设有且只有一组正解, 且每个元素只能使用一次. 我的思路: 其实想不到什么好的方法, 遍历就好, 非常素朴的回答: 1 class Solution { 2 pub

【leetcode】Combine Two Tables

突然发现leetcode出sql题了,找了道最简单的,找找自信.. 题目如下: Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId is the primary key c

Combine Two Tables[leetcode]

# Write your MySQL query statement below #select a.FirstName , a.LastName , b.City , b.State from Person as a , Address as b where a.PersonId = b.AddressId ; select a.FirstName , a.LastName , b.City , b.State from Person as a left join Address as b o

LeetCode SQL: Combine Two Tables

SELECT FirstName, LastName, City, State FROM Person p LEFT JOIN Address a ON p.PersonId = a.PersonId 居然出SQL的题目了,左连接就行

sql 中多表查询-leetcode : Combine Two Tables

因为对数据库的内容早都忘得差不多了,所以我的第一感觉是: select Person.FirstName, Person.LastName, Address.City from Person, Address where Person.PersonId=Address.PersonId 结果出错了: 因为至少这个人是存在的,只是没有她的地址,你不至于搜不到吧, 但是我这种写法是引用两个表,从两个表中获取数据,就是找两者相同的情况下的结果. 使用join 可以连接两个表: join: 如果表中有一

LeetCode 175 Combine Two Tables

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