質問: sqlクエリが複数のテーブルからデータを返す 私は以下のことを知りたいのですが。 データベース内の複数のテーブルからデータを取得する方法 これを行うにはどのような種類の方法がありますか? 結合と共用体とは何ですか。また、それらは互いにどう違うのですか。 他のものと比較して、いつそれぞれを使用すべきですか? 私は(例えば - php)アプリケーションでこれを使用することを計画していますが、データベースに対して複数のクエリを実行したくない、単一のクエリで複数のテーブルからデータを取得するためにどのようなオプションがありますか?注:phpキューで頻繁に出くわす多くの質問について、よく書かれたガイドにリンクできるように、これを書いています。答えを投稿します。答えは次のとおりです。 第1部 - 結合と組合 パート2 - サブクエリ パート3 - トリックと効率的なコード 第4部 - from句の中の副問い合わせ 第5部 - john's tricksのミックスバッグ
回答: fromキーワードで複数のクエリの概念を使用できます。一例を示しましょう。select distinct e.id,e.name,d.name,lap.lappy laptop_make,c_loc.cnty county from ( select c.id cnty,l.name from county c, location l where c.id=l.county_id and l.end_date is not null ) c_loc, emp e inner join dept d on e.deptno =d.id left join ( select l.id lappy, c.name cmpy from laptop l, company c where l.make = c.name ) lap on e.cmpy_id=lap.cmpy 必要なだけテーブルを使用できます。テーブルサブクエリの中であっても、必要なところであればどこでも外部ジョインと共用体を使用してください。これは、テーブルやフィールドと同じ数の要素を含めるのが非常に簡単な方法です。