|
|
|
| Есть 2 таблицы с полями:
1. id, name
2. id, address
Нужно выбрать всех юзеров, из таблицы 1, у которых нет адреса, т.е. запись в таблице 2 отсутствует.
Как это сделать? | |
|
|
|
|
|
|
|
для: tAleks
(20.10.2006 в 14:37)
| | имена таблиц неплохо бы знать. | |
|
|
|
|
|
|
|
для: Trianon
(20.10.2006 в 15:26)
| | Это условно имена не важны. Пусть будут USERS и ADDRESES. | |
|
|
|
|
|
|
|
для: tAleks
(20.10.2006 в 15:39)
| | >Это условно имена не важны.
кому как. Мне, например, лениво их придумывать.
>Пусть будут USERS и ADDRESES.
SELECT users.id, name
FROM users
LEFT JOIN address ON users.id = address.id
WHERE address.id IS NULL
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.10.2006 в 15:44)
| | Работает! Спасибо!
Если я правильно понимаю, то IS NULL и ОТСУТСТВИЕ ЗАПИСИ ВООБЩЕ это одно и то же.
Правильно? | |
|
|
|
|
|
|
|
для: tAleks
(20.10.2006 в 16:42)
| | Нет. Просто ячейки левого внешнего соединения, принадлежащие столбцам правой таблицы, и строкам в которой подходящих записей в этой таблице не нашлось, принимают состояние NULL. | |
|
|
|