2013-07-03 8 views
0

У меня есть запросSeflf Регистрация запроса

SELECT * FROM msg where sender = receiver 

В которой отправитель и получатель находятся две колонки таблицы сбщ.

Запрос работает нормально. Теперь я задаю вопрос:

Является ли это self join? Я думаю, что это простой запрос, который сравнивает значения из двух столбцов из той же таблицы, где, как в self join, мы присоединяем таблицу к себе, чтобы дважды получить таблицу с столбцами одной таблицы.

например: SELECT * from msg m Join msg p on m.id = p.id;

Может ли кто-нибудь уточнить?

Спасибо заранее.

+0

Почему вы сомневаетесь, когда у вас есть такие прекрасные объяснения? – fancyPants

+0

Единственная причина, по которой я столкнулся с вопросом, потому что http://drupal.stackexchange.com/questions/25773/how-to-write-a-self-join-query-in-drupal-7-using-db-select – user2545234

ответ

0
SELECT * FROM msg where sender = receiver 

не является самостоятельным.

Самосоединение похоже на любое другое соединение, за исключением того, что в запрос будут объединены два экземпляра той же таблицы.

Это довольно распространено, когда у вас есть таблица, которая ссылается сама. Пример: таблица сотрудников, в которой каждый сотрудник может иметь менеджера, и вы хотите перечислить всех сотрудников и имя своего менеджера.

+0

Если второй пара является цитатой, укажите источник для цитаты. Если нет, его не нужно отступать как код (как было первоначально) или помечен как цитата (как я это сделал). Это может быть простое предложение. –

+0

Спасибо за быстрый ответ. Я с вами полностью согласен. Единственная причина, по которой я столкнулся с этим вопросом, - это то, что http://drupal.stackexchange.com/questions/25773/how-to-write-a-self-join-query-in-drupal-7-using-db-select – user2545234

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