17. Поиск клиентов в базе данных по INN и KPP #
Условие задачи:
📌 Написать SQL-запрос для поиска всех клиентов по inn
и kpp
в таблице KF_ADAPTER_R_CLIENT
.
- Используется простая выборка по одной таблице.
- В таблице
KF_ADAPTER_R_CLIENT
есть информация о клиентах, включаяinn
(ИНН) иkpp
(КПП).
CREATE TABLE KF_ADAPTER_R_CLIENT (
id SERIAL PRIMARY KEY,
abs_id VARCHAR(255),
branch_id VARCHAR(255),
abs_branch_id VARCHAR(255),
short_name VARCHAR(255),
inn VARCHAR(12),
kpp VARCHAR(9),
sign_count INT,
deleted BOOLEAN
);
CREATE TABLE KF_ADAPTER_R_DELEGATE (
id SERIAL PRIMARY KEY,
client_id INT,
abs_id VARCHAR(255),
user_id VARCHAR(255),
full_name VARCHAR(255),
phone VARCHAR(15),
sign_role VARCHAR(50),
deleted BOOLEAN,
FOREIGN KEY (client_id) REFERENCES KF_ADAPTER_R_CLIENT(id)
);
Спойлеры к решению
Подсказки
💡 Для поиска клиентов используем
💡
💡 Если нужно искать клиентов с определенными значениями, используем
💡 Если необходимо найти клиентов с похожими значениями, используем
WHERE
.💡
inn
и kpp
могут иметь разные значения, поэтому проверяем их совместно.💡 Если нужно искать клиентов с определенными значениями, используем
=
.💡 Если необходимо найти клиентов с похожими значениями, используем
LIKE
.Решение
SELECT *
FROM KF_ADAPTER_R_CLIENT
WHERE inn = '7701234567'
AND kpp = '770101001';
✅ Объяснение решения:
- Запрос выбирает все колонки (
*
) из таблицыKF_ADAPTER_R_CLIENT
. - Фильтрация выполняется по точному совпадению ИНН и КПП (
WHERE inn = ... AND kpp = ...
). - Если нужен поиск по частичному совпадению, можно использовать
LIKE
:
SELECT *
FROM KF_ADAPTER_R_CLIENT
WHERE inn LIKE '770%'
AND kpp LIKE '7701%';
🔥 Теперь можно находить клиентов по inn
и kpp
быстро и просто! 🚀