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

サブクエリとLIMITを使用したMySQLの選択

    WHEREを使用する場合 LEFT JOINの右側のテーブルの条件 (外部結合)、それは事実上INNER JOINになります 、WHERE 句は条件に一致する必要があります。そのため、c.active = 1の場合のみが発生します。 。

    WHEREをシフトする必要があります LEFT JOIN .. ON .. AND ..への条件 状態:

    SELECT
       p.id, c.id as category_id 
    FROM
       (SELECT id FROM products p WHERE p.id > 6319055 ORDER BY id LIMIT 1000) prods 
    LEFT JOIN 
       products p ON p.id = prods.id 
    LEFT JOIN 
       categories c ON c.id = p.category_id 
                       AND c.active = 1
    



    1. PDO:ループでprepare()を呼び出すコストは?

    2. 属性は、あるテーブルを別のテーブルの上に指定できますか?

    3. MySQLレコードから自動メールを送信するにはどうすればよいですか?

    4. VS 2005 C#を使用してOracleDBに優れています