私はSQLを初めて使用し、今学期はDBクラスを受講しています。このデータベースで試すクエリは約20ありますが、そのうちの2つは理解できません...ここの誰かが助けてくれるかどうか疑問に思いました。
これが私がすでに作成した私のテーブルです。
create table employee(
EID varchar(20) primary key,
Lastname varchar(20),
Firstname varchar(20),
Midinitial char(1),
gender char(1),
street varchar(20),
city varchar(20)
);
create table works(
EID varchar(20) primary key,
Lastname varchar(20),
Firstname varchar(20),
Midinitial char(1),
company_name varchar(20),
salary numeric(5,0),
foreign key(EID) references employee,
foreign key(company_name) references company
);
create table company(
company_name varchar(20) primary key,
city varchar(20)
);
create table manages(
EID varchar(20) primary key,
Lastname varchar(20),
Firstname varchar(20),
Midinitial char(1),
ManagerLastname varchar(20),
MFirstname varchar(20),
MMidinitial varchar(20),
start_date date,
foreign key (EID) references employee
);
First Bankで働き、オマハに住むすべてのマネージャーの給与を検索します。
これが私がこれについて持っているものです。私はそれが正しいと思いますが、私も2番目のものを手に入れることができるまでこれに答えたくありません...。
select distinct salary
from employee, works, manages
where employee.city = 'Omaha'
and works.company_name = 'First Bank'
and manages.managerlastname = employee.Lastname
and employee.EID = works.EID
と
全従業員の中で最も給与が高い従業員の名前と会社名を見つけます。