Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz DeFranco #5869 üzenetére

    Nem fordítva írod?

    select * from T1
    left join T2 on T1.azon=T2.azon

    ami az egyenlet bal oldalán van (T1) abból minden és T2-ből az egyező.

    Elvileg a kettő ekvivalens, aztán onnantól kódolási stílus kérdése/hitvita, hogy azt a táblát írjuk előre, amelyiket akarjuk joinolni (T2) a korábbiakhoz (T1), vagy amelyikhez joinoljuk (T1) az újat (T2)

    Amit benézhetett az az, hogy az SQL-92 szabvány előtti Oracle join szintaxisban a Where mögött explicite jelölni kellett, hogy melyik oldalnál megengedett a null, és ha arra az aliasra voltak extra feltételek, akkor ott is:
    FROM kimszamla AS t1, banklista AS t2, bank AS t3
    WHERE t1.tipus='0'
    AND t1.teljesites <= '2023-01-01'
    AND t2.szamla_id (+) = t1.szamla_id
    AND t3.bank_id (+) = t2.bank_id
    AND t3.datum (+) <= '2023-01-01'

    (Tradícionálisan itt írták előre a régi táblát aztán az egyelőség után az újat a (+)-szal, az jelölte a left joint, fenti példában right joinnak látszik.)

    [ Szerkesztve ]

    Hello IT! Have you tried turning it off and on again?

Új hozzászólás Aktív témák