Как вернуть строки, у которых есть совпадающие значения в обоих таблицах в SQL?


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

Пример:

У нас есть две таблицы: orders и customers. Обе таблицы имеют столбец customer_id, который является общим для обеих таблиц.

Таблица orders:

order_id customer_id order_date
1 101 2021-01-01
2 102 2021-01-02
3 103 2021-01-03

Таблица customers:

customer_id customer_name city
101 John Smith New York
102 Jane Doe San Diego
104 Bob Johnson Chicago

Чтобы вернуть строки, у которых есть совпадающие значения в обеих таблицах, мы можем использовать следующий запрос:

SELECT *
FROM orders
INNER JOIN customers
ON orders.customer_id = customers.customer_id;

Результат:

order_id customer_id order_date customer_name city
1 101 2021-01-01 John Smith New York
2 102 2021-01-02 Jane Doe San Diego


About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.