Объединяет в SQL для извлечения данных из двух таблиц - PullRequest
3 голосов
/ 02 июля 2010

Существует две таблицы A и B. Вы извлекаете данные из обеих таблиц, в которых должны отображаться все строки из таблицы B и только совпадающие строки из таблицы A.Какой из следующих типов объединений вы примените между таблицами A и B?

- Inner join
- Left outer join
- Right outer join
- Self join

Ответы [ 4 ]

5 голосов
/ 02 июля 2010

Используйте левое внешнее соединение или правое внешнее соединение.

Например, следующее удовлетворяет вашим требованиям.

select * from tableB
Left outer join tableA
on tableB.ID= tableA.ID

Или

select * from tableA
Right outer join tableB
on tableA.ID= tableB.ID

Лучший способ понять:

alt text

1 голос
/ 02 июля 2010

Легко, я бы пошел с (B).

SELECT * FROM B x
LEFT JOIN A y
  on x.someColName = y.someColname

РЕДАКТИРОВАТЬ: также можно использовать правое соединение

SELECT * FROM A x
RIGHT OUTER JOIN B y
  on x.someColName = y.someColname
0 голосов
/ 02 июля 2010

Регистрация влево

http://www.w3schools.com/Sql/sql_join_left.asp

0 голосов
/ 02 июля 2010

Это похоже на домашнюю работу, но она настолько проста, что я просто скажу, что вы просите B LEFT JOIN A.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...