ホームページ >バックエンド開発 >PHPチュートリアル >left join on と where 条件の配置に関する関連説明
左 PHPではjoin onとwhere条件の配置が非常に重要ですので、この記事では関連する知識を詳しく解説します。
SELECT p.pname,p.pcode,s.saletime as p left sales_detail as s join on (s.pcode=p.pcode) および s. ('2012-07-23','2012-07-05');
見つかった結果:+-------+-------+---- --- -----+| pcode |+------+-------+------------+ | A | 2012-07-23 || A | 2012-07-05 | | C | p.pname,p.pcode,s.saletime from product as p left 結合 sales_detail as s on (s.pcode=p.pcode) where s.saletime in ('2012-07-23','2012-07) -05 ');クエリの結果+-------+-------+------------+
| | +------+-----------+| 2012-07-23 | | A | AC | 2012-07-05 || --+結論: テーブル内のデータが条件を満たさない場合、条件付き関連付けは null 値を表示します。ここでは、条件データを完全に満たす 2 つのテーブルが出力されます
左側の結合の条件: 左側のテーブルのベンチマーク データが使用され、左側のテーブルに表示されるすべてのデータが表示されます。関連する限り、正しいテーブルを結合します。対応するフィールドに値がない場合、または条件を満たさない場合は、NULL に設定されます。 SELECT p.pname,p.pcode,s.saletime from product as p left join sales_detail as s on (s.pcode=p.pcode) ; 結合したままの場合、表示される内容は次のようになります+-------+------+----------+
| 販売時間 |
+------ +--- ----+----------------+
| AC 2012-07-16 | ----------+
値があっても条件を満たさない場合はNULLとなります。値がない場合は NULL でなければなりません
where 条件の場合は満たされなければなりません。
アプリケーション シナリオ: たとえば、メイン テーブルがある場合は、メイン テーブルに基づいてデータを表示するための左結合を検討できます。
1。 on の場合、左側のテーブルにはすべてのデータが見つかります。そのため、フィルタリングしたい場合は、where
2 の後に条件を置く必要があります。内部結合の場合、on 以降の条件テーブル内のデータのみが検索されます。フィルタリングの役割を果たします。 where の後に条件を入れることもできます。
SQLのon条件とwhere条件の違い
データベースが2つ以上のテーブルを結合してレコードを返すとき、中間の一時テーブルを生成し、この一時テーブルをユーザーに返します。 left jion を使用する場合、on 条件と where 条件の違いは次のとおりです: 1. on 条件は、on の条件が有効かどうかに関係なく、左側のテーブルのレコードを返します。真実。 2. where条件は、一時テーブル生成後に一時テーブルをフィルタリングするための条件です。この時点では、左結合の意味はありません (左のテーブルのレコードが返される必要があります)。条件が true でない場合は、すべてが除外されます。 この記事では、左結合と where 条件の配置に関する知識について説明します。その他の学習教材については、php 中国語 Web サイトを参照してください。 関連する推奨事項: php+mysql ファジークエリ関数に関する関連知識
php を介してファイルをコピーおよび移動する方法
jQuery 効果について - 非表示と表示に関する関連知識
以上がleft join on と where 条件の配置に関する関連説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。