-1

私は初心者で、これらのクエリを解決しようとしていますが、誰かが私を助けてくれる方法がありませんでした.

次の関係は、航空会社のフライト情報を追跡します。

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 リレーションは、パイロットやその他の種類の従業員についても説明します。すべてのパイロットはいくつかの航空機の認定を受けており、パイロットのみが飛行の認定を受けています。

次のクエリを試していました

  1. 給与がロサンゼルスからホノルルへの最も安いルートの価格よりも低いパイロットの名前を見つけます。

  2. 航続距離が 1000 マイルを超えるすべての航空機について、航空機の名前と、その航空機に認定されたすべてのパイロットの平均給与を見つけます。

最初のクエリを次のように試しました

 select ename from employees full natural join  certified 
        where 
      salary <(select min(price) from flightsz where   ffrom='los angles' and fto='honolulu');
4

1 に答える 1