MySQLを使用して1つのテーブルの列値が別のテーブルと同じである場合にのみ2つのテーブルからデータを返す方法は?

Aranyx

私はMySQLを初めて使用し、2つのテーブルの携帯電話番号が同じ場合にのみ2つのテーブルからデータを返したいと思っています。nullは必要ありませんどうすればこれを達成できますか?

例:

Table A 
UserID  CandidateName  CurrentMobile  CurrentDistrict  Email      Centre 
1       Max            98234          Chennai          [email protected]  A
2       Raju           97364          Salem            [email protected]  B
3       Ramesh         99873          Trichy           [email protected]  C 
Table B
Name     MobileNumber  District
Maximus  98234         Salem 
Ramesh   99873         Trichy
Venkat   98376         Chennai 

次の結果が必要です。

UserID  CandidateName  Name     CurrentDistrict  District  Email      Centre  MobileNumber 
1       Max            Maximus  Chennai          Salem     [email protected]  A       98234
3       Ramesh         Ramesh   Trichy           Trichy    [email protected]  C       99873 

を使用しようとしましたUNIONnull、一部の列に値が表示され、両方のテーブルからすべてのデータが返されます。

異なる

A.CurrentMobileと同じ条件で、2つのテーブルを結合しますB.MobileNumber

SELECT
  A.UserID,
  A.CandidateName,
  B.Name,
  A.CurrentDistrict,
  B.District,
  A.Email,
  A.Centre,
  B.MobileNumber
FROM
  A,
  B
WHERE
  A.CurrentMobile = B.MobileNumber

または、次の構文を使用して同じ結果を得ることができます。

SELECT
  ... (all the same fields again)
FROM
  A
INNER JOIN B ON A.CurrentMobile = B.MobileNumber

結合に使用する2つのフィールド(つまり、携帯電話番号フィールド)にインデックスがある場合、クエリははるかに高速になります。参加の詳細については、こちらこちらをご覧ください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ