sql
all
select * from personne where pays_id_naiss <> all (select pays_id_naiss from personne where prénom = 'Albert' ) ; -- Attn au valeurs nulles ! -- Dans le cas présent, si l'un des "Albert" de la sous-requête est domicilé "null" part, -- la sous-requête...
any
select * from personne where pays_id_naiss = any (select pays_id_naiss from personne where prénom = 'Luc' ) ;
in
-- Avec Sql, vous n'êtes jamais "out" - comme dirait Gainsbourg -, -- éventuellement "in" ou "not in"... select * from personne where pays_id_naiss in ('FR', 'GB') ; select * from personne where pays_id_naiss in (select pays_id_naiss from personne where...
sous-requête
-- Que serait le marin sans le sous-marin ? -- Que serait la requête sans la sous-requête ? -- Une sous-requête retourne une, plusieurs, ou aucune ligne et peut être correlée. -- N'est-elle pas à l'origine de la puissance d'SQL ? select t1.* , (select...
join
-- 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...
select
-- 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)),...
create schema
-- 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...
update
update personne set nom = 'TOTO' , pays_vacance = null , num1 = 123 where personne_id = 4; update test02 set début = '1.12.2001' , fin = '2001-12-27' where test02_id = 22;
insert
-- Prière d'insérer ! insert into pays(pays_id, libellé) values('F', 'France'); insert into pays values('GB', 'Great Britain'); insert into personne(nom, num2) values('titi', 22); insert into personne values(default, 'toto', 'F', 'GB', null, 1, 11); --...
alter table
-- Alter ego, alter mondialiste, alter native... alter table personne alter column num1 set default 123 add column num2 dec(11, 0) drop column prénom alter column personne_id set generated always restart
references
-- Quelques façons d'indiquer une contrainte d'intégrité référencielle. create table pays ( pays_id char(5) not null primary key, libellé varchar(99)) ; create table personne ( personne_id integer not null primary key generated always as identity, nom...
Create Table
-- Aujourd'hui, ajout d'une nouvelle catégorie "pense-bête" : Sql -- Je me sers de DB2 v9, et voici la documentation. create table test02 (test02_id integer not null primary key generated always as identity, alpha char(10) not null constraint Pas_de_doublons...
/image%2F1025633%2F20151122%2Fob_b0e74c_pam007i.png)