Oracle データベースに 2 つのテーブル (fruit_cost と fruit_availability) があります。詳細は以下のとおり
です
。fruit_cost
りんご | 30
オレンジ | 7
メロン | 14
fruit_availability は次のようになります
。fruit_availability
テーブルが空
です 次のような結果を得るための良いオプションはありますか
? フルーツコスト | fruit_availability
アップル | 30 | ヌル
オレンジ | 7 | ヌルメロン
| 14 | ヌル
14932 次
3 に答える
7
を使用してテーブルを結合できますLEFT JOIN
。
Aは、テーブル内に一致するレコードがあるかどうかに関係なく、テーブルLEFT JOIN
内のすべてのレコードを返します。クエリは次のようになります。fruit_cost
fruit_availability
select fc.fruit_name,
fc.fruit_cost,
fa.fruit_availability
from fruit_cost fc
left join fruit_availability fa
on fc.fruit_name = fa.fruit_name
デモで SQL Fiddle を参照してください
結果は次のとおりです。
| FRUIT_NAME | FRUIT_COST | FRUIT_AVAILABILITY |
------------------------------------------------
| melon | 14 | (null) |
| orange | 7 | (null) |
| apple | 30 | (null) |
結合構文を学習するのに助けが必要な場合は、ここで結合の優れた視覚的な説明を参照してください。
于 2013-01-16T20:27:09.983 に答える
4
オラクルの構文:
select *
from fruit_cost fc, fruit_availability fa
where fc.fruit_name = fa.fruit_name (+);
ここでSQLフィドル。
于 2013-01-16T20:28:00.527 に答える
0
select c.fruit_name, c.fruit_cost, a.fruit_availability
from fruit_cost c
left outer join on fruit_availability a on
c.fruit_name = a.fruit_name
order by c.fruit_name
于 2013-01-16T20:27:40.660 に答える