create table customer
    (cust_id    integer     not null,
    cust_name   char(20)    not null ,
    cust_address    varchar2(200)   ,
    emp_id      integer     not null,
        constraint pk_customer primary key(cust_id)
    );

create table account
    (account_number integer     not null,
    account_balance number(8,2) not null,
    constraint pk_acount primary key(account_number)
    );
create table has
    (cust_id    integer     not null,
        account_number  integer     not null,
        constraint pk_has primary key(cust_id, account_number)
        );
alter table has
add constraint fk_account_has foreign key(account_number) 
references account(account_number);

alter table has 
add constraint fk_customer_has foreign key(cust_id) 
references customer(cust_id);

alter table customer 
add constraint fk_employee_customer foreign key(emp_id) 
references employee(emp_id);

Q1 Afficher toutes les informations sur les clients avec le numéro de compte 101 et le numéro de compte 102

Q2 Afficher les numéros de compte et les identifiants client pour tous les clients dont le solde du compte est supérieur à 500.

Q3 Affichez toutes les informations sur les clients dont les soldes de compte diffèrent de 500.

0
Abed Al Rahman Hussien Balhawa 23 févr. 2020 à 07:44

1 réponse

Meilleure réponse

Ce serait quelque chose comme ceci:

select c.cust_id, c.cust_address, c.cust_address
from customer c join has h on h.cust_id = c.cust_id
where h.account_number in (101, 102);

Je vous suggère d'ARRÊTER de lire maintenant et - en regardant le premier exemple - d'essayer d'écrire vous-même les 2 requêtes suivantes.

select c.cust_id, h.account_Number
from customer c join has h on h.cust_id = c.cust_id
join account a on a.account_number = h.account_number
where a.account_balance > 500;

select c.cust_id, c.cust_address, c.cust_address
from customer c join has h on h.cust_id = c.cust_id
join account a on a.account_number = h.account_number
where a.account_balance <> 500;
0
Littlefoot 23 févr. 2020 à 07:24