car
のデータとcarName
のデータを1行だけ得たい場合は、この車のmakerName
とplateNumber
の値があります。例えば、。いくつかのフィールドがnullの場合の結合での問題
Ford Taurus
はプレートの番号を持っていない何らかの理由で、私はプレートの番号欄の値なしで、この1行を取得したい場合は、たとえば
Ford Taurus, Ford, null.
のために、私は以下のsql
を試みたが、Iすべてmaker
とlicense
テーブルのすべての値を取得し、私はmaker
とlicense
表にcar.id
ためwhere
句に制約を追加する場合license
の値がnull
ある場合、私は0行を取得。
これはどのようにすることができますか?あなたがleft join
を探しているよう
select
car.id as carID,
maker.carId as makerCarId, maker.name as makerName,
license.carId as licenseCarId, license.plateNumber as plateNumber
from
car car,
maker maker,
license license
where car.id = 4951
;
最新の明示的なJOIN構文に切り替えます。書き込みが容易(エラーなし)、読みやすく、必要に応じて外部結合に変換する方が簡単です。 – jarlh
テーブルを結合する条件は次のとおりです。あなたはクロスプロダクトを得る – Jens