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 题目就是搜索两个关联表,分别从表中去关键字,但是记得特殊情况就是SELECT WHERE 的时候没有数据匹配就会返回空,但是你比如查询xx的住址可能是有人员信息么有地址这个时候我们用LEFT JON 和RIGHT JOIN 什么意思呢,上语句查询结果你就懂了
#左连接就是左边查询的如果有数据右面如果没有匹配,那么右面的数据可以为空 #SELECT FirstName, LastName, City, State FROM Person left join Address on Person.PersonId=Address.PersonId; #右连接就是右边查询的如果有数据左面如果没有匹配,那么右面的数据可以为空 SELECT FirstName, LastName, City, State FROM Address RIGHT join Person on Address.PersonId=Person.PersonId;
时间: 2024-11-08 22:28:07