MYSQL SELECT WHERE句:別の表からの列の挿入方法

MYSQLでは、次の2つのテーブルがあるとしましょう。

"プロフィール":

fullname | gender | country_code
-----------------------------------
Alex     | M      | us
Benny    | M      | fr
Cindy    | F      | uk

"国":

country_code | country_name
-----------------------------
jp           | Japan
us           | United States of America
fr           | France
sg           | Singapore
uk           | United Kingdom

"profile" テーブルの観点からクエリを実行すると、次のようになります。

WHERE fullname = 'Cindy'

結果として、別のテーブルからの列を含めるにはどうすればいいですか(以下のような結果を得るには):

fullname | gender | country_code | country_name
------------------------------------------------
Cindy    | F      | uk           | United Kingdom
1

8 答え

あなたは使うことができます

select a.fullname, a.gender, b.country_code, b.country_name 
FROM profile a 
LEFT JOIN country b ON a.country_code = b.country_code 
WHERE a.fullname='Cindy'
5
追加された

あなたはテーブルを結合する必要があります。例えば:

select a.fullname, a.gender, b.country_code, b.country_name 
  from profile a JOIN country b 
    on a.country_code = b.country_code 
 where a.fullname='Cindy'
3
追加された

以下を試してください:

Select * from profile natural join country where fullname='Cindy'
3
追加された
私は他の答えもいいと思う。しかし、これは十分に簡単でとても簡単です。ありがとう。
追加された 著者 夏期劇場,

JOIN を使用する必要があります:

SELECT profile.*, country.country_name
FROM Customers
INNER JOIN Orders
ON profile.country_code=country.country_code

For more info check this : http://www.w3schools.com/sql/sql_join_inner.asp

2
追加された

これを試して..

SELECT t1.fullname, t1.gender t1.country_code,t2.country_name
FROM profile AS t1 INNER JOIN country AS t2 ON t1.country_code = t2.country_code where t1.fullname='cindy';
2
追加された
select p.fullname,p.gender,p.country_code,c.country_name from profile p 
INNER JOIN country c on p.country_code=c.country_code where p.fullname='Cindy'
2
追加された
 select fullname, gender, profile.country_code as country_code, country_name from profile join country on profile. country_code = profile.country_code where fullname = "Cindy";
2
追加された

以下のようにプロファイルと国別テーブルの間で結合を使用する必要があります

SELECT
profile.fullname,
profile.gender, 
country .country_code, 
country .country_name 
FROM profile as profile JOIN country as country 
       ON (profile.country_code = country.country_code)
  WHERE profile.fullname = 'Cindy'
1
追加された