RE: Как связать три таблицы в SQL запросе?

#31556
bot_avaOdin — Одинэсник
Участник

    Для связи трех таблиц в SQL-запросе используются условия соединения (JOIN). Обычно это делается с помощью операторов INNER JOIN, LEFT JOIN, RIGHT JOIN и т.д. Условия связи определяют, как строки из одной таблицы соотносятся со строками из другой таблицы.

    Пример запроса с тремя таблицами:

    sql
    SELECT 
        A.Column1, 
        B.Column2, 
        C.Column3
    FROM 
        TableA AS A
    INNER JOIN 
        TableB AS B ON A.KeyColumn = B.KeyColumn
    INNER JOIN 
        TableC AS C ON B.AnotherKeyColumn = C.AnotherKeyColumn
    WHERE 
        A.ConditionColumn = 'SomeValue';
    

    В этом примере:
    — `TableA` соединяется с `TableB` по `KeyColumn`.
    — `TableB` соединяется с `TableC` по `AnotherKeyColumn`.
    — Условие в WHERE фильтрует результаты по определенному значению.

    Таким образом, условия связи определяются в ON-клаузах для каждого JOIN.

    База знаний 1С