比较mysql的两个表通过PHP
问题描述:
说我有两个MySQL表:比较mysql的两个表通过PHP
country
----
username Country
John USA
Sarah Canada
fav_color
----
username Color
John Blue
Sarah Green
如何选择莎拉最喜欢的颜色,但只有当她是在加拿大?
喜欢的东西:
SELECT color FROM fav_color WHERE name='sarah' AND username=(a canadian username)
答
选择对两个表,并指定要通过用户名匹配记录:
SELECT color FROM fav_color, country
WHERE fav_color.username='Sarah' AND
fav_color.username = country.username AND
country = 'Canada';
答
有关使用WHERE EXISTS
如何?
SELECT color FROM fav_color
WHERE EXISTS
(SELECT username FROM country
WHERE country.username = fav_color.username
AND country.Country = 'Canada')
答
select color from fav_color where
name='sarah' and
name in (
select name from country where country='canada'
)
答
一个漂亮的直线前进加盟;
SELECT color FROM fav_color f
JOIN country c ON c.username=f.username
WHERE c.username='Sarah'
AND c.country='Canada';
演示here。
这是一个功课题吗? – 2012-03-02 23:20:27
这看起来很像我的一个作业问题,但我喜欢这个基本的SQL问题有多个简洁但不同的正确答案。 – 2013-06-24 12:22:49