SQL - Comment tout sélectionner sauf une colonne ?

SQL - Comment tout sélectionner sauf une colonne ?

Date de sortie
30/04/2024
Auteur
U
Untitled
Comment faites-vous si vous avez besoin de 23 colonnes sur les 24 dont est composée votre table de travail ?

Sur BigQuery, car je n’ai pas vérifié sur d’autres, il existe la clause EXCEPT() à utiliser dans le SELECT.

Tout d’abord, prenons des données d’exemple :

En voici le résultat :

ProductID
ProductName
Category
Brand
Price
ReleaseDate
InStock
DiscountPercent
Color
WeightKg
1
Laptop
Electronics
HP
1200
2023-01-01
Yes
15
Black
1,5
2
Smartphone
Electronics
Apple
999
2023-03-15
Yes
10
Silver
0,2
3
Backpack
Accessories
Nike
70
2022-08-01
No
5
Blue
0,7
4
Water Bottle
Accessories
CamelBak
35
2023-04-20
Yes
0
Green
0,3
5
Headphones
Electronics
Sony
150
2022-12-05
Yes
20
Black
0,4

Comme vous le voyez nous avons 10 colonnes dans notre exemple.

Maintenant, nous voudrions sélectionner toutes les lignes en stock, soit le champ InStock = ‘Yes’.

Cependant, nous voudrions afficher toutes les colonnes sauf celle que nous venons de filtrer (InStock).

Voici l’approche :

La syntaxe est donc :

SELECT * EXCEPT(les_noms_de_colonnes_à_exclure)

Et voici le résultat :

ProductID
ProductName
Category
Brand
Price
ReleaseDate
DiscountPercent
Color
WeightKg
1
Laptop
Electronics
HP
1200
2023-01-01
15
Black
1,5
2
Smartphone
Electronics
Apple
999
2023-03-15
10
Silver
0,2
4
Water Bottle
Accessories
CamelBak
35
2023-04-20
0
Green
0,3
5
Headphones
Electronics
Sony
150
2022-12-05
20
Black
0,4

✅ La colonne InStock n’a donc pas été prise et seules les lignes dont InStock = ‘Yes’ ont été sélectionnées.

Merci de votre lecture !