sql >> データベース >  >> RDS >> PostgreSQL

LEFT(外部)結合を使用する場合、結合内のテーブルの順序は重要ですか?

    それは同じですが、暗黙的で地獄のように曖昧です クロス結合。明示的なJOINSを使用します。

    WHERE句に参加している場合、結果は 結合とフィルターが混同されているため、異なります。

    SELECT ....
      FROM apples a
           JOIN
           bananas b ON ...
           JOIN 
           oranges o ON ...
           LEFT JOIN
           kiwis k ON k.orange_id = o.id
     WHERE (filters only)
    

    注:

    • 内部結合と交差結合は可換で連想的です。通常、順序は重要ではありません。
    • 外部結合は、あなたが特定したものではありません
    • SQLは宣言型です。オプティマイザーに、実行方法ではなく、必要なことを指示します。これにより、JOINの注文に関する考慮事項が削除されます(前の2つの項目が適用されます)


    1. MySQLで日付で注文する方法

    2. MySQLまたはMariaDBのGaleraClusterの監視-メトリックの理解(更新)

    3. Djangoで大文字と小文字を区別しない一意のモデルフィールド?

    4. PSQLException:ResultSetが適切に配置されていません。おそらく、次に呼び出す必要があります