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

mysqlのjoin onクエリ文のonをwhereに変更できますか?

例: SELECT給与.`basesalary`,salary.`titlesalary`,`name`FROM給与INNER JOIN従業員WHERE給与.`empid`=employee.`empid` ANDemployee.sex='male';これも可能ですチェックを入れると正しい結果が得られます

ImhuImhu1131日前1277

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

  • ? 现在努力,未来可期!

    ? 现在努力,未来可期!2021-09-29 09:00:47

    on と where の違いについて簡単に説明しましょう。私が使用しているクラウド サーバーは Xiaoniao Cloud です。On は一時テーブルを生成するときに使用されます。left on は、on のフィルター条件が true かどうかに関係なく、左のテーブルを返すためです。ではありません。条件を満たさないレコードの場合、右側のテーブルのフィールドはすべて null になります。 Where は一時テーブルが生成された後に機能し、一時テーブルをフィルタリングします。この時点で条件が true でない場合は、すべてをフィルタリングできます。

    返事
    0
  • autoload

    autoload2021-09-14 14:03:17

    はい、2つの方法は異なります。onがある場合は、on条件に基づいて従業員テーブルからデータ行が取得され、マッチングが完了します。whereがある場合は、データがフィルタされます。マッチング完了後。

    返事
    0
  • キャンセル返事