[SQL Server] Minus

Minus [SQL Server] - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2004 à 15:55:41    

Bonjour,
 
Quelqu'un saurait-il comment on fait l'équivalent du "MINUS" d'Oracle avec SQL Server ?
Merci d'avance.
 
A+
 
Lolobreizh

Reply

Marsh Posté le 20-01-2004 à 15:55:41   

Reply

Marsh Posté le 20-01-2004 à 16:14:00    

MINUS sous Oracle ? ca me dit rien, ça fait quoi ? t'as un exemple de requête ?


Message édité par bill.fr le 20-01-2004 à 16:14:20

---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
Reply

Marsh Posté le 20-01-2004 à 16:26:58    

Code :
  1. select product_id from inventories
  2. minus
  3. select product_id from order_items


 
te rend les lignes présentes dans inventories et pas dans order_items
 
Il existe aussi union pour la réunion des 2 résultats (ça existe aussi sous SQL Server) et intersect pour les lignes présentes dans les 2 tables simultanément !
Cordialement,


Message édité par lolobreizh le 20-01-2004 à 16:28:08
Reply

Marsh Posté le 20-01-2004 à 16:36:33    

Je sais qu'il existe l'instruction NOT EXISTS qu'on peut utiliser mais j'aimerais savoir s'il n'y pas mieux.

Reply

Marsh Posté le 20-01-2004 à 17:23:48    

Not exists : pas top puisque très très lent en général
 
faut faire une jointure y'a que ça je pense
 
select I.product_id from inventories I left outer join order_items O on I.product_id = O.product_id where O.product_id is null and I.product_id is not null
 
Mais j'ai pas pu la tester


---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
Reply

Marsh Posté le 20-01-2004 à 17:51:44    

J'avais en effet entendu parler des jointures avec inner join et outer join mais je maitrise pas l'utilisation.
Je vais creuser.
Merci

Reply

Marsh Posté le 20-01-2004 à 18:38:37    

Inner join et Outer join on
Il s'agit juste des mots clés de la syntaxe de la norme SQL-92 (utilisée par SQL Server, je crois) pour exprimer l'équi-jointure et la jointure externe.
Donc rien d'exotique sous le soleil. Mais venant comme toi du monde Oracle (je suppose), je n'ai pas de solution à te proposer pour traduire les requêtes ensemblistes d'oracle, désolé :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed