Laurent Bloch
"Les systèmes d'exploitation des ordinateurs
histoire, fonctionnement, enjeux"
-- Très intéressant et maintenant sur le Net !
-- Joindre les 2 bouts, ou + si affinité...
select * from personne join pays on pays_id_naiss = pays_id -- ou inner join
-- Retourne les personnes qui ont un pays.
select * from personne left outer join pays on pays_id_naiss = pays_id
-- outer facultatif
-- retourne toutes les personnes, qu'elles aient un pays ou non.
select * from personne full outer join pays on pays_id_naiss = pays_id
-- outer facultatif
-- retourne toutes les personnes et tous les pays
DB2 AS/400 ou iSeries ou i5/OS ou System i (bref...)
propose un type de jointure fort utile : Left Exception Join :
A left exception join returns only the rows from the first table that do not have a match in the second table.
-- Les personnes au pays inconnu
Un accès à la doc AS400 : About DB2 for i5/OS SQL Reference
-- Cette petite phrase de Confucius n'est pas sans nous rappeler le célèbre "Think" d'IBM.
N'arrête pas de penser, tu pourrais oublier de t'y remettre !
-- Mais que serait Sql sans le Select ?
Select * from personne;
Select nom, prénom from personne where personne_id = 'DPTALB';
Select nom, prénom from personne where nom like 'Dup%';
Select count(*) from personne group by nom;
Select count(*), count(distinct(nom)), count(distinct(prénom)) from personne
-- Et que serait Montparnasse sans le Select ?
-- Le schema Sql est un peu le cousin de de notre
-- "bibliothèque courante" - curlib - AS/400...
-- Notez toutefois que l'on peut faire un
-- "set current schema" d'un schema qui n'existe pas...
-- Il s'agit en fait d'un registre.
values current schema
set current schema pam2
-- Vous pouvez profiter de la création d'un schema
-- pour y créer tables, vues, index...
-- Attn : pas de ";" de séparation !
-- L'ordre de création des objets
-- est judicieusement géré par la commande.
create schema pam2
create table personne
(personne_id char(10) not null primary key,
nom varchar (50),
prénom varchar(50),
pays_id_naiss char(10) references pays(pays_id),
conjoint char(10) references personne(personne_id))
create table pays
(pays_id char(10) not null primary key,
libellé varchar (50))
---------------
drop table personne;
drop table pays;
drop schema pam2 restrict; -- L'option cascade existe sur AS ;-))
Le Monde Informatique (édition papier) du 21 septembre
donnait quelques chiffres concernant SAP :
Clients 41 200
Utilisateurs 12 000 000
CA 9 400 000 000 euros
Collaborateurs 41 900
Quelques divisions plus loin...
Utilisateurs/Client 291
CA/Client 228 155 euros
CA/Utilisateur 783 euros
Clients/Collaborateur 1