2013-07-04 4 views
-2

У меня есть две таблицы:Должен ли я использовать внутреннее соединение здесь (MySQL)

t1: 

cust_id  email 
201   [email protected] 
202   [email protected] 
203   [email protected] 


t2: 

cust_id  value 
201   dfceaa64f8b93661903a849b09c5ac4e10abdfed21763a04d6eb9523e02d6dc1:Qs 
202   c15af11e5acb2f6b7e7b12ab7eee8ce482f0cf76f76b7e65dde6b15c3a910680:Qx 
203   71ae98d020b16f6f668db6bde3f9c18350a892b55736995237fa71aa5dc2b206:MU 

Я хотел бы, чтобы выбрать из «t1», где электронная почта является как «sadpanda» и получать значения для тех пользователей из 't2'. Должен ли я использовать для этого внутреннее соединение?

+2

Зависит, если вы хотите получить строки, которые не имеют соответствующего значения в t2 или нет. Почему вы не читаете немного о различиях в соединениях? – banging

ответ

0

вы можете иметь два способа сделать это 1. Вы можете использовать простое соединение запроса. что-то вроде

SELECT T2.* 
FROM T1 JOIN T2 ON T.CUST_ID = T2.CUST_ID 
WHERE T1.EMAIL LIKE '%sadpanda%' 
  1. или вы можете использовать подзапрос что-то вроде

    ВЫБОР T2. * FROM T2 WHERE CUST_ID IN (SELECT CUST_ID FROM T1 WHERE T1.EMAIL LIKE '% sadpanda%')

Предлагаю сначала один. он будет работать быстрее, чем второй.

Смежные вопросы