--3.8 a 找出銀行中所有有賬戶但無貸款的客戶
select distinct customer_name from depositor where customer_name not in(
select customer_name from borrower
)
--下面這個自動去掉了重複值的情況 不需要加distinct
select customer_name from depositor
except
select customer_name from borrower
--3.8 b 找出與“Smith”居住在同一個城市、同一個街道的所有客戶的名字
select customer_name from customer where customer_city in(
select customer_city from customer where customer_name='Smith'
) and customer_street in(
select customer_street from customer where customer_name='Smith'
)
--3.8 c 找出所有支行的名稱,在這些支行中都有居住在“Harrion”的客戶所開設的賬戶
select distinct branch_name from account join depositor on(account.account_number=depositor.account_number)
where customer_name in(
select customer.customer_name from customer
where customer_city='Harrison'
)
select distinct branch_name from customer join depositor on (customer.customer_name=depositor.customer_name and customer.customer_city='Harrison') join
account as a on (a.account_number=depositor.account_number)
--3.15a 找出在“Brooklyn”的所有支行都有賬戶的所有客戶
select customer_name from customer where not exists(
select branch_name from branch where branch_city='Brooklyn'
except
select branch_name from account join depositor on(account.account_number=depositor.account_number)
where depositor.customer_name=customer.customer_name
)
--3.15b 找出銀行的所有貸款額的總和
select sum(amount) as sum_amount from loan
--3.15c 找出總資產至少比位於Brooklyn的某一家支行要多的所有支行的名字
select branch_name from branch where assets>=all( --這裏千萬別忘了寫all
select assets from branch where branch_city='Brooklyn'
)