..
Кто знает, что знание SQL является JOIN. В наших гидов и других статьях мы объяснили, как JOIN и как вы можете создать связи между различными таблицами в базе данных.
Наиболее распространенными требованию удовлетворяют инструмент JOIN, чтобы найти спички между двумя таблицами, в этом случае спасает INNER JOIN положение, которое точно находит и возвращает полей, удовлетворяющих переписка искали в течение двух или более таблиц, участвующих в JOIN.
Гораздо менее интуитивное об обратном необходимо определить поля, которые не имеют матч в рамках JOIN.
Давайте возьмем пример.
Предположим, вы хотите управлять базой данных электронной коммерции состоит только из двух таблиц:
Чтобы удовлетворить первое требование, конечно, довольно прост:
ВЫБОР CUSTOMER.FIRST, CUSTOMER.LAST От клиентов INNER JOIN Заказы ВКЛ = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTи до сих пор не проблема.
Но как мы можем сделать, чтобы обратный результат?
Ну ...
Во-первых, не используйте INNER JOIN, но LEFT JOIN, чтобы найти полное соответствие, но не частичной, где, однако, результаты из левой таблицы будут возвращены в любом случае.
Без этого мы будем искать (с помощью предложения WHERE) записи отсутствуют (т.е. не приводится в докладе), то определены как NULL (в SQL NULL определяется как своего рода "особое значение", которая идентифицирует отсутствие значения ..)
Давайте посмотрим, код:
ВЫБОР CUSTOMER.FIRST, CUSTOMER.LAST От клиентов LEFT JOIN Заказы ВКЛ = clienti.id ordini.id_cliente ГДЕ NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTРезультат, по сути, список имен наших клиентов, которые никогда не покупали ничего.
| |
MS Access (хороший)
Узнайте, как создавать и управлять базами данных быстро и легко. Начиная от 29 €. |
| |
MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €. |
| |
SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €. |