Vidéo: SQL 22: Manipulation de Données: Tri et Autres Opérations ( AVG, COUNT, MAX, MIN, SUM) 2024
Les instructions DECRIBE et SELECT sont probablement les instructions les plus courantes que vous exécuterez dans votre base de données Oracle 12c en tant qu'administrateur de base de données (DBA). Après tout, une grande partie de votre travail consistera à rechercher ce qui se trouve dans la base de données et à analyser les conditions actuelles.
Dites que vous voulez obtenir des informations sur les emplois dans votre entreprise.
-
Ouvrez un terminal sur votre système d'exploitation en tant que propriétaire du logiciel Oracle.
-
Définissez votre environnement avec oraenv.
-
Tapez et appuyez sur Entrée.
-
Tapez et appuyez sur Entrée.
-
Tapez et appuyez sur Entrée.
-
Tapez et appuyez sur Entrée.
La sortie suivante apparaît:
SQL> DESCRIBE jobs Nom Null? Type ----------------------------- -------- ------------ -------- JOB_ID NOT NULL VARCHAR2 (10) JOB_TITLE NON NULL VARCHAR2 (35) MIN_SALARY NUMBER (6) MAX_SALARY NUMBER (6)
-
Pour voir le job_id et le job_title, tapez
et appuyez sur Entrée.
Vous devriez voir la sortie suivante:
SQL> select job_id, job_title des jobs; JOB_ID JOB_TITLE ---------- ----------------------------------- AD_PRES Président AD_VP Administration Vice-Président AD_ASST Assistant Administratif FI_MGR Directeur Financier FI_ACCOUNT Comptable AC_MGR Responsable Comptabilité AC_ACCOUNT Comptable Public SA_MAN Directeur des Ventes SA_REP Représentant des Ventes PU_MAN Directeur des achats PU_CLERK Commis des Achats ST_MAN Gestionnaire des stocks ST_CLERK Commis aux Stocks SH_CLERK Commis aux Douanes IT_PROG Programmeur MK_MAN Directeur Marketing MK_REP PR_REP Représentant des relations publiques 19 lignes sélectionnées.
La commande DESCRIBE vous permet de voir la structure de la table. Cela inclut les noms de colonne, les types de données et si les colonnes sont autorisées à être vides (null). Cette information peut être très importante lors de la construction de diverses instructions SQL. Par exemple, si vous insériez une ligne, vous devez fournir des valeurs pour job_id et job_title car ils ne sont pas NULL.
L'instruction SELECT est très simple. Notez qu'il a été tapé tout sur une ligne. SQL ne se soucie pas vraiment de la façon de diviser les instructions ligne par ligne, tant que vous ne cassez pas les mots de moitié.
Diviser les instructions SQL par clause. Pour les instructions plus longues et plus complexes, vous pouvez utiliser plusieurs sauts de ligne. Ces pauses peuvent aider à rendre les déclarations plus faciles à lire.
Voici deux instructions SELECT et leur sortie:
SQL> select * 2 des jobs 3 où job_title = 'President'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES President 20080 40000 SQL> select * 2 des jobs 3 où job_title like 'P%'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES Président 20080 40000 AC_ACCOUNT Expert-comptable 4200 9000 PU_MAN Directeur des achats 8000 15000 PU_CLERK Commis aux achats 2500 5500 IT_PROG Programmeur 4000 10000 PR_REP Représentant des relations publiques 4500 10500 6 rangs choisi.
Notez qu'au lieu d'utiliser une liste de colonnes, un astérisque (*) a été utilisé. Cela indique que la clause SELECT doit retourner toutes les colonnes, contrairement à ce qui a été montré précédemment où seulement deux colonnes ont été sélectionnées.
Notez l'utilisation de la clause WHERE. La clause WHERE restreint les données renvoyées. Dans cet exemple, la clause WHERE est utilisée de deux manières:
-
En tant qu'égalité (=): vous recherchez exactement ce que vous voulez trouver.
-
Comme une recherche floue (LIKE): vous pouvez utiliser des caractères génériques pour compléter les termes de recherche. Oracle utilise le symbole de pourcentage comme symbole générique.
L'utilisation du symbole% indique que vous voulez sélectionner toutes les lignes commençant par majuscule P, puis avoir quelque chose après. Souvent, sur les systèmes d'exploitation, vous voyez un astérisque utilisé comme caractère générique. Ce n'est pas le cas dans une instruction SQL, cependant; à la place, utilisez un signe de pourcentage (%).
Ajoutant à notre instruction SELECT, vous voyez
SQL> sélectionnez lower (job_id), upper (job_title) title, max_salary 2 parmi les jobs 3 où job_title comme 'P%' 4 et max_salary <14000 5 order by max_salary ASC; LOWER (JOB_ TITLE MAX_SALARY ---------- ----------------------------------- ---------- pu_clerk ACHETEUR CLIENT 5500 ac_account PUBLIC COMPTANTANT 9000 it_prog PROGRAMMEUR 10000 pr_rep RELATIONS PUBLIQUES REPRESENTANT 10500
Certaines fonctions ont été ajoutées aux colonnes de la clause SELECT. * Fonctions take et input pour produire une sortie: Dans ce cas, job_id et job_title Les fonctions de caractères UPPER et LOWER ont été utilisées Vous pouvez deviner ce qu'elles font Dans ce cas, c'est assez évident Oracle a des dizaines de fonctions à utiliser pour agir sur vos données en tout genre de façons
Dans ce cas, il est démontré comment il n'est pas nécessairement important comment vos données sont stockées, vous pouvez l'afficher comme vous le souhaitez.Notez les noms des colonnes pour job_id et job_title dans la sortie. soit un mélange de notre fonction et de column_name.
C'est parce qu'Oracle utilise automatiquement ce que vous tapez dans la clause SELECT pour votre en-tête de colonne Dans la deuxième colonne, job_title, utilisez un " alias "pour rendre la sortie un peu plus jolie.
Un alias vient après la construction de la colonne mais avant la virgule. Dans cet exemple, title est l'alias. L'alias sera toujours par défaut en majuscules, sauf si vous mettez des guillemets doubles ("") autour d'elle. Vous devez également utiliser des guillemets si votre alias est plus d'un mot. Par exemple
SQL> sélectionnez upper (job_title) "Job Title" 2 à partir des jobs 3 où job_title like "P%"; Titre du poste ----------------------------------- PRÉSIDENT COMPTABLE PUBLIC GESTIONNAIRE D'ACHAT COMMIS ACHAT PROGRAMMEUR REPRÉSENTANT DES RELATIONS PUBLIQUES > L'utilisation de l'instruction AND est une construction de la clause WHERE. L'instruction AND vous permet d'utiliser plusieurs conditions pour restreindre nos données.
Enfin, la clause ORDER BY trie la sortie sur la colonne spécifiée, numériquement ou alphabétiquement, en fonction du type de données. Par défaut, il est trié par ordre croissant. Le mot clé ASC (ascendant) a été ajouté pour clarification.Vous auriez pu utiliser DESC à la place pour classer les résultats par ordre numérique décroissant de max_salary.