MYSQL - получить данные из таблицы, которые не связаны с другой таблицей

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

Допустим, у нас есть 3 таблицы клиент - категория - client_category

ТАБЛИЧНЫЙ КЛИЕНТ

я быназвание
1клиент 1
2клиент 2

категория ТАБЛИЦА

я быназвание
1категория 1
2категория 2
3категория 3

ТАБЛИЦА client_category

я быid_clientid_category
111
221
322
323

ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ

клиенткатегория
клиент 1категория 2
клиент 1категория 3

Это также необходимо для работы с большим количеством клиентов и категорий.

это не имеет особого смысла, если мы не можем собрать все вместе.

Javier G.Raya 01.04.2022 09:32
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
1
59
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
SELECT client.name, category.name
FROM client
CROSS JOIN category
WHERE NOT EXISTS ( SELECT NULL
                   FROM client_category
                   WHERE client.id = client_category.id_client
                     AND category.id = client_category.id_category )

или

SELECT client.name, category.name
FROM client
CROSS JOIN category
LEFT JOIN client_category ON client.id = client_category.id_client
                         AND category.id = client_category.id_category
WHERE client_category.id IS NULL

Вас интересуют все ссылки возможно между клиент и категория, которых нет в client_category.

SELECT
   c.name, y.name
FROM client c
CROSS JOIN category y
LEFT JOIN client_category cc ON cc.id_client = c.id AND cc.id_category = y.id
WHERE cc.id IS NULL
ORDER BY c.id, y.id

выход:

названиеназвание
клиент 1категория 2
клиент 1категория 3

DBFIDDLE

Другие вопросы по теме