具有多个表的SQL select语句

use*_*913 11 sql

给出以下两个表:

Person table 
id (pk) 
first 
middle 
last 
age

Address table 
id(pk) 
person_id (fk person.id) 
street 
city 
state 
zip
Run Code Online (Sandbox Code Playgroud)

如何创建一个SQL语句,返回邮政编码为97229的人的所有信息?

vik*_*iii 30

Select * from people p, address a where  p.id = a.person_id and a.zip='97229';
Run Code Online (Sandbox Code Playgroud)

或者你必须尝试使用JOIN哪种更有效和更好的方法来做到这一点,因为Gordon Linoff在下面的评论中也说你需要学习这个.

SELECT p.*, a.street, a.city FROM persons AS p
JOIN address AS a ON p.id = a.person_id
WHERE a.zip = '97299';
Run Code Online (Sandbox Code Playgroud)

p.*意味着它将显示PERSONS表的所有列.