私は初心者で、これらのクエリを解決しようとしていますが、誰かが私を助けてくれる方法がありませんでした.
次の関係は、航空会社のフライト情報を追跡します。
create table flights(
flno number(10) primary key,
ffrom varchar2(50),
fto varchar2(50),
distance number(10),
departs varchar2(50),
arrivs varchar2(50),
price number(10,2)
);
create table aircraft(
aid number(10) primary key,
aname varchar2(50),
cruisingrange number(10)
);
create table employees(
eid number(10) primary key,
ename varchar2(50),
salary number(10,2)
);
create table certified(
eid number(10) references employees(eid),
aid number(10) references aircraft(aid)
);
フライト +-----+-------------+----------+----------+------ ---+--------+---------+ | | フリノ | から | フト | 距離 | 出発 | 到着 | 価格 | +-----+-------------+----------+----------+------ ---+--------+---------+ | | 1234 | ロサンゼルス | ホノルル | ホノルル 1100 | 9:15 | 21:45 | 25000 | | | 1235 | ロサンゼルス | ホノルル | ホノルル 1100 | 11:20 | 22:15 | 15000 | | | 1236 | ロサンゼルス | デリー | デリー | 3100 | 6:45 | 23:45 | 25000 | | | 1237 | ロンドン | ロンドン | ニューヨーク | ニューヨーク | 2400 | 7:25 | 21:00 | 35000 | +-----+-------------+----------+----------+------ ---+--------+---------+ 航空機 +-----+-------+---------------+ | | 援助 | あなめ | 航続距離 | +-----+-------+---------------+ | | 1 | Bb111 | 2000年 | | | 2 | Aa123 | 5000 | | | 3 | Aa555 | 900 | | | 4 | Bb777 | 500 | +-----+-------+---------------+ 従業員 +-----+-------+--------+ | | イード | イード エナメ | 給与 | +-----+-------+--------+ | | 301 | ああ | 14000 | | | 302 | Bbb | 12000 | | | 303 | Ccc | 25000 | | | 304 | Ddd | 5000 | | | 305 | ええ | 50000 | | | 306 | ふふ | 15000 | | | 307 | ぐぐ | 65000 | +-----+-------+--------+ 認証済み +-----+-----+ | | イード | イード 援助 | +-----+-----+ | | 301 | 1 | | | 302 | 3 | | | 303 | 2 | | | 306 | 4 | | | 307 | 1 | +-----+-----+
Employee リレーションは、パイロットやその他の種類の従業員についても説明します。すべてのパイロットはいくつかの航空機の認定を受けており、パイロットのみが飛行の認定を受けています。
次のクエリを試していました
給与がロサンゼルスからホノルルへの最も安いルートの価格よりも低いパイロットの名前を見つけます。
航続距離が 1000 マイルを超えるすべての航空機について、航空機の名前と、その航空機に認定されたすべてのパイロットの平均給与を見つけます。
最初のクエリを次のように試しました
select ename from employees full natural join certified
where
salary <(select min(price) from flightsz where ffrom='los angles' and fto='honolulu');