ホームページ >バックエンド開発 >PHPチュートリアル >mysqlの左結合ステートメントの書き方

mysqlの左結合ステートメントの書き方

WBOY
WBOYオリジナル
2016-06-13 12:42:491947ブラウズ

mysqlの左結合ステートメントを記述するにはどうすればよいですか?

この投稿は、u010572351 によって 2013-06-30 12:01:20 に最終編集されました 状況は次のようになります。左のユーザーテーブル、商品テーブル、ユーザー購入商品レコードテーブルの3つのテーブルが接続されており、商品レコードテーブルはユーザーIDと商品IDを記録し、ユーザーテーブルと商品テーブルを関連付けています。 、ユーザー名と製品名を含む製品レコードをクエリするには、3 つのテーブルが必要です。

ユーザーテーブル: uid,uname
商品テーブル: gid,gname
ショップテーブル: id,uid,gid

書き方を見てみましょう?

このように書きました。まずレコード テーブルとユーザー テーブルを接続して一時テーブルを形成し、次に一時テーブルと製品テーブルの間に左結合を使用します。結果が間違っています。なぜですか? ? ?
select * from<br />
(shop left join users on shop.uid=users.uid)<br />
as tmp<br />
left join goods on tmp.gid=goods.gid;(提示错误)


これは正しい書き方ですが、理解できません: (一時テーブルの概念がありません)
select * from<br />
(shop left join users on shop.uid=users.uid)<br />
left join goods on shop.gid=goods.gid;(貌似正常)


1. A がテーブル B に接続されたままになると、新しいテーブルが表示され、新しいテーブルはテーブル C に接続されたままになると理解しています。これが間違っているかどうかはわかりません/
2. A を B に接続したままにしてから C に接続する場合と、A を C に接続したままにしてから B に接続する場合には違いがあるといつも感じています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。