テーブルに3回以下しか表示されないタプルを検索するには、oracleにSQLクエリを記述する必要があります。私は一つだけのテーブルで働いている場合さて解決策は簡単です:それはので、私が働いているテーブルではもう少し複雑だが3倍未満で表示されるタプルを見つける
Select class
From Ships
GROUP BY class
Having COUNT(class) < 3;
。 2つのテーブルはクラスと船です。クラステーブルは、特定の船がどのクラスに属しているかを示しており、船のテーブルは船の名前とクラスをリストしています。どちらのテーブルにも外部キーがありません。つまり、船のテーブルにないクラステーブルで特定のクラスを取得する可能性があります。ここのテーブルには、どのように見えるか:
Create Table Classes (
class Varchar(40),
type Char (2),
country Varchar(15)
);
Create Table Ships (
name Varchar(40),
class Varchar(40)
);
そして、我々は次のようになり、テーブルを取得する可能性があります:
Classes:
('Bismarck','bb','Germany');
('Kongo','bc','Japan');
('Renown','bc','Gt. Britain');
Ships:
('Hiei','Kongo');
('Haruna','Kongo');
('Renown','Renown');
('Repulse','Renown');
('Kongo','Kongo');
('Kirishima','Kongo');
それは私も欲しいだけ二回しかし船のテーブルに表示されますので、だから、レナウンが出て記載されているになるだろうBismarckクラスはクラステーブルに一度しかリストされていないので、3回もリストされていません。私が理解できないことは、Classesテーブルのクラスは常に1回だけリストに表示されますが、クラスが船のテーブルに3回以上現れる場合、クラステーブルに何回リストされているかは関係ありません。私はこの作業をするために外部結合を行う必要があると思うが、どうなるかわからない。
だから私は期待した結果が、あなたが参加して、(*)カウント左を使用することができ
Renown
Bismarck
したがって、2つのテーブルを結合し、クラス値が3回未満の場合にのみ結果を表示しますか? – Zero
あなたは質問し、予想される選択結果を追加します。 – scaisEdge