Using sql что это?
В PostgreSQL встретил JOIN orders USING (customer_id), что значит USING?
Дом, ремонт, стройка
Животные и питомцы
Учёба и образование
Фотография
Психология
Пока нет лидеров с лучшими ответами.
Ваш вопрос
Условие соединения В PostgreSQL USING после JOIN позволяет перечислить одноименные столбцы, по которым нужно сравнить две стороны. Например, SELECT * FROM training.customers JOIN training.orders USING (customer_id); предполагает, что столбец customer_id существует и у customers, и у orders. По смыслу сравнения это равенство значений с обеих сторон.
Несколько столбцов Запись USING (shop_id, customer_id) требует совпадения обеих пар. Все перечисленные имена должны присутствовать в обеих таблицах. Если поля называются по-разному, такой сокращенный вариант не подходит: условие записывают через ON с явными ссылками.
Выходные столбцы Для SELECT * конструкция JOIN USING выводит перечисленные общие столбцы один раз. При JOIN ON обе исходные колонки остаются отдельными выходными колонками. Поэтому замена одной записи другой может изменить структуру результата, даже если набор сопоставленных строк совпадает.
Количество строк USING не означает поиск единственной строки и не выполняет DISTINCT. Если одному customer_id соответствуют несколько заказов, соединение сохраняет подходящие сочетания. Перед расчетом суммы важно понимать кратность связи, иначе легко посчитать одну сущность несколько раз.
Границы применения Это объяснение относится к USING внутри JOIN в PostgreSQL. В той же СУБД слово встречается и в других командах, где задает иной смысл. Например, при изменении типа столбца после USING пишут выражение преобразования данных. Нельзя читать отдельное слово без окружающей команды или считать такой синтаксис соединения одинаково поддерживаемым всеми СУБД.
Практический выбор Используйте сокращение, когда одинаковые имена отражают одну и ту же сущность. Для нестандартного сравнения, диапазонов и разных названий явное ON обычно понятнее.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4o-mini
4o-mini
Using sql что это?