検索

ホームページ  >  に質問  >  本文

php - Mysqlの左結合クエリ、右側のテーブルのフィールドが空の場合、左側のテーブルの対応するフィールドが見つからないのはなぜですか?

リーリー

これはクエリ ステートメントです。左側のテーブル カテゴリは分類テーブル、右側のテーブル ジョブは職位テーブルです。各カテゴリの下の職位の数をカウントしたいと考えています。
しかし、結果には問題があります。ジョブ テーブルのカテゴリ フィールドに特定のカテゴリが存在しない場合、つまり、このカテゴリにポジションを追加した人がいない場合、このカテゴリは表示されません。クエリ結果に表示されます。
しかし、左結合がある場合、右のテーブルに対応するデータがない場合でも、左のテーブルのフィールドが表示されるのは当然です。

高洛峰高洛峰2762日前474

全員に返信(2)返信します

  • 怪我咯

    怪我咯2017-06-05 11:10:00

    もちろん、where 条件を記述した右側のテーブルは見つかりません。右側のテーブルが空の場合、条件フィールドも空になり、where 条件によって除外されます。

    返事
    0
  • 漂亮男人

    漂亮男人2017-06-05 11:10:00

    私もこの状況に遭遇しました。これは、where 条件によって除外されました。解決策は、どこに書いた条件を on に追加することです。
    ここでテーブルを接続した後に結果セットをフィルターしますが、on の条件が false の場合、左側のテーブルのデータが返され、右側のテーブルは空になります

    返事
    0
  • キャンセル返事