SELECT “seul”
SELECT 1,2,'texte' ; -- mysql et sqlserver
SELECT 1,2,'texte' FROM dual; -- Oracle (FROM est obligatoire)FROM permet le rajout des Noms des objets du serveur SQL (tables, colonnes(champs))
-- commentaires
/* commentaires pour les bloques */
# pas conventionnel mais fonctionne sur MYSQL (voir coloration du code par l'éditeur !)
// interditUtiliser des synonymes (ALIAS) de noms de tables
SELECT marq.libelle AS NomMarque
, tel.prix
, tel.proprietaire_id
FROM marque_tel AS marq
INNER JOIN telephone AS tel
WHERE marq.idMarque = tel.marque_id;Le mot clé AS n’est pas obligatoire sur MYSQL
ATTENTION à l’ordre de traitement un alias dans le nom des champs sélectionnés ne peut pas être utilisé dans le WHERE contrairement à un ALIAS derrière le nom d’une table
ordre d’exécution dans le moteur de base de données
SELECT -- 3 -- PROJECTION
FROM -- 1 -- SELECTION
WHERE -- 2 -- RESTRICTION : condition sur la SELECTION
GROUP BY
HAVING
ORDER BY -- 4REMARQUE : (à corriger)
SELECT type_id marque_id , 1.2*prix AS Prix_TTC
FROM telephone AS c;marque_id est un alias, erreur classique !
SELECT * FROM telephone;
SELECT *
FROM telephone
WHERE
couleur = 'ROUGE' OR couleur <> 'ROUGE';SELECT * from table WHERE
NOM_CHAMP = 'valeur'
OR NOM_CHAMP <> 'valeur'
OR NOM_CHAMP IS NULL;http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_equal-to
SELECT CONCAT(type_id,' - ',couleur) FROM telephone;http://www.w3schools.com/sql/sql_isnull.asp
ATTENTION si sur un champ le “NULL” est autorisé, lors de l’exécution d’une requête on peut avoir un résultat différent de celui désiré en cas de valeur NULL.
+---------------+
| votreFonction |
+---------------+
| SP - ROUGE |
| SP - NC |
| CL - NOIR |
| CO - BLANC |
| IP - NC |
| CO - BLANC |
| SP - ROUGE |
| NV |
| NV |
+---------------+