[PDF] [PDF] SQL - CNRS

FROM nom table ; Récupérer les valeurs contenus dans la table nom table, en ne CREATE TABLE nom table(att1 type1, att2 type2, ); Crée une table nom INSERT INTO departement VALUES (10,'Marketing',1,NULL) ; INSERT INTO 



Previous PDF Next PDF





[PDF] SQL INSERT INTO

In today‟s article we will learn SQL INSERT INTO command how to insert into data from one table to other table Along with that we will also cover different 



[PDF] Creating Tables and Relationships

Define the fields in the table including their name, data type and description To insert multiple rows, select the required number of rows using the row selector 2 Creating a lookup field from a record source in another table automatically 



[PDF] Tables imbriquées en relationnel-objet sous Oracle - Documents

10 mai 2017 · INSERT INTO tIntervenant (pknom, prenom, bureau) 2 CREATE TYPE liste_nom_type AS TABLE OF nom_type_scalaire; 3 4 VALUES ( 3 4 virgule (si c'est la virgule, le caractère de séparation doit être différent)



[PDF] Create a Database Creating Tables in Oracle Prerequisites Creating

If you want to create a new table in your own schema, you can log into the To create a table, the basic structure to hold user data, specifying the following information: Syntax #2 - Copying selected columns from another table The basic 



[PDF] MySQL Tutorial - MySQL Community Downloads

program to create and use a simple database mysql (sometimes referred to as to issue queries than to jump right in creating tables, loading data into them, and prints another mysql> prompt to indicate that it is ready for another query When you want to add new records one at a time, the INSERT statement is useful



[PDF] CREATE TABLE Students - Courses

V Create a Relation/Table in SQL CREATE TABLE CREATE TABLE Courses (courseid CHAR(6), How do you enter/modify data? V INSERT command INSERT INTO Students VALUES the primary key (say b) of another relation R2



[PDF] SQL - CNRS

FROM nom table ; Récupérer les valeurs contenus dans la table nom table, en ne CREATE TABLE nom table(att1 type1, att2 type2, ); Crée une table nom INSERT INTO departement VALUES (10,'Marketing',1,NULL) ; INSERT INTO 



[PDF] SQL Basics Using Proc SQL - LexJansen

database programming/query language Although its table in SAS or another relational database system A word of using proc SQL, all of which use the CREATE TABLE statement constraints, no row of data can be inserted if the NAME



[PDF] SQL Mock Test - TutorialsPoint

C - You can use the INSERT statement to add rows from one table to another D - All of C - You cannot delete rows based on values from another table D - All of Q 16 - Which of the following is true about the CREATE TABLE statement?



[PDF] Word 2016: Working with Tables

You can use tables to align numbers and create interesting page layouts Creating a 4) Click Insert Table 5) Click To move from one cell in the table to another You can easily sort data in a table in either ascending or descending order

[PDF] create table and insert data hive

[PDF] create table and insert data in cassandra

[PDF] create table and insert data mysql

[PDF] create table and insert data oracle

[PDF] create table and insert data postgres

[PDF] create table college

[PDF] create table for student information in sql

[PDF] create table mysql command

[PDF] create table mysql command line

[PDF] create table mysql foreign key

[PDF] create table mysql primary key

[PDF] create table mysql syntax

[PDF] create table mysql w3schools

[PDF] create website with ruby

[PDF] creating 3d models from 2d images

Bases de donnees

Bases de donnees

SQL

E.Coquery

emmanuel.coquery@liris.cnrs.fr

Bases de donnees

SQL Un langage concret interagir avec le modele relationnel :

Un langage de manipulation de donnees.

Un langage de description de donnees.

Un langage pour administrer la base, gerer les contr^oles d'acces.Origine : IBM, dans les annees 70.

Standards :

SQL-87 : 1987 (ISO)

SQL-2 : 1992 (ANSI)

SQL-3 : 1999

SQL-2003

SQL-2006

Dierences avec la theorie :

possibilites de doublons; possibilite d'ordonner le resultat des requ^etes; notion de valeur non denie.

Bases de donnees

InterrogationPlan

1Interrogation

Requ^etes simples

Sur plusieurs tables

Fonctions

Aggregats

2Modications d'une instance

3Denition et modication du schema d'une base

4Exemple de mise en place d'une base

Bases de donnees

Interrogation

Requ^etes simplesInterrogation simple

SELECTatt1,att2, ...

FROMnomtable;Recuperer les valeurs contenus dans la tablenomtable, en ne gardant que les attributsatt1, att2, ...En algebre relationnelle : att1;att2;:::(nomtable) On peut remplaceratt1,att2, ... par*pour utiliser tous les attributs.

Bases de donnees

Interrogation

Requ^etes simplesExemple

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Donner le nom et la fonction de chaque employe :SELECT Nom,Fonction FROM Employe;

Nom;Fonction(Employe)

Bases de donnees

Interrogation

Requ^etes simplesExemple 2

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Donner les informations sur chaque employe :SELECT * FROM Employe;

Employe

Bases de donnees

Interrogation

Requ^etes simplesmot cle DISTINCT

Le mot cle

DISTINCT

p ermetd' eliminerles doublons da nsle resultat.

Exemple :

Donner les dierentes fonctions occupees dans l'entreprise :SELECTDISTINCT Fonction FROM Employe ;

Bases de donnees

Interrogation

Requ^etes simplesSelections (de lignes)

SELECTatt1,att2, ...

FROMnomtable

WHEREconditionLa clauseWHERE sp ecieles lignes as electionnergr ^ace ala condition.En algebre relationnelle : att1;att2;:::(condition(nomtable))

Bases de donnees

Interrogation

Requ^etes simplesConditions du WHERE

Expressions simples :

Comparaisons (=,!= ,< ,<= ,> ,>= )entre un attribut et une constante ou un autre attribut dierents types de donnees utilises pour les constantes : nombres : 1, 1980, 1.5 cha^nes de caracteres : 'Martin', 'directeur' dates : '1980-06-18' le formattage des dates peut varier Combinaison d'expressions via :le 'et',^:AND le 'ou',_:OR

Bases de donnees

Interrogation

Requ^etes simplesExemple

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes dont la date d'embauche est anterieure au 1 erjanvier 1999 :SELECT Nom

FROM Employe

WHERE Embauche < '1999-01-01';

Nom(Embauche<0199901010(Employe))

Bases de donnees

Interrogation

Requ^etes simplesExemple 2

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes dont la date d'embauche est anterieure au 1 erjanvier 1999 et touchant au moins 30000 euros de salaire :SELECT Nom

FROM Employe

WHERE Embauche < '1999-01-01'

AND Salaire >= 30000;

Bases de donnees

Interrogation

Requ^etes simplesAutres conditions

L'operateur

IN p ermetde sp ecieru nensemble de valeur possibles :Quels sont les employes qui sont directeur ou ingenieur?

SELECT Nom, Fonction

FROM Employe

WHERE Fonction

IN ('ingenieur','directeur') ;L'operateurBETWEEN ... AND p ermetde sp ecierun intervalle de valeurs :Quels employes gagnent entre 25000 et 30000 euros?

SELECT Nom, Salaire

FROM Employe

WHERE Salaire

BETWEEN

25000
AND

30000 ;Attention a ne pas confondre le AND du BETWEEN avec celui

qui correspond au^.

Bases de donnees

Interrogation

Requ^etes simplesAutre exemple

Quels sont les employes directeur ou ingenieur, embauches entre le 1 erjanvier 1990 et le 31 decembre 1999 gagnant moins de 32000 euros?

SELECT Nom, Embauche, Fonction, Salaire

FROM Employe

WHERE Fonction

IN ('ingenieur','directeur') AND

Embauche

BETWEEN

'1990-01-01' AND '1999-12-31' AND

Salaire

32000 ;

condition connecteur ^

Bases de donnees

Interrogation

Requ^etes simplesValeurs non denies

En pratique, il est possible d'avoir des valeurs non denies.

Elles sont representees par le mot cle

NULL On peut tester si une valeur n'est pas denie gr^ace a la condition

IS NULL

(ou au contraire

IS NOT NULL

Schema :Batiment(Numbat, Nombat, Entprinc, EntSec) Les b^atiments qui n'ont pas d'entree secondaire auront une valeur NULL pour l'attribut EntSec. La requ^ete suivante indique les b^atiments n'ayant pas d'entree secondaire :

SELECT *

FROM Batiment

WHERE Entsec IS NULL;

Bases de donnees

Interrogation

Requ^etes simplesTri du resultat d'une requ^ete

En pratique, il peut ^etre interessant de trier le resultat d'un requ^ete.

SELECTatt1,att2, ...

FROMnomtable

WHEREcondition

ORDER BYatti,attj, ...Le resultat de la requ^ete est trie par ordre croissant sur l'attributattiEn cas d'egalite entre deux lignes au niveau de l'attributatti, on utilise l'attributattj, etc ...Dans un ORDER BY, il est possible de faire suivre le nom d'un attribut par ASC ou DESC p ourindiquer un o rdre croissant ou d ecroissant

Bases de donnees

Interrogation

Requ^etes simplesExemple

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Donner le nom des employes du departement numero 20, en triant le resultat par salaire decroissant, puis par nom (croissant) :

SELECT Nom

FROM Employe

WHERE Numdept=20

ORDER BY Salaire DESC, Nom;

Bases de donnees

Interrogation

Sur plusieurs tablesRequ^etes sur plusieurs tables

SELECTatt1,att2, ...

FROMnomtable

1,nomtable

2, ...

WHEREcondition

ORDER BYatti,attj, ...Il est possible d'utiliser plusieurs tables dans une requ^ete. Cela correspond a eectuer un produit cartesien entre les dierentes tables.Si un attribut est present dans plusieurs tables utilisees, on doit l'ecrirenomtable:att

Bases de donnees

Interrogation

Sur plusieurs tablesJointures naturelles

On peut remplacer la virgule par

NA TURALJOIN

: SELECT att1, att

2, ...

FROMnomtable

1NATURAL JOINnomtable

2, ...

WHEREcondition

ORDER BYatti,attj, ...

Jointure naturelle sur les relationsR(A1;A2;B1;B2) et

S(C1;C2;B1;B2), equivalent a :

SELECTA1,A2,R:B1,S:B2,C1,C2

FROM R, S

WHERER:B1=S:B1ANDR:B2=S:B2

Bases de donnees

Interrogation

Sur plusieurs tablesExemple

Schema :

Batiment(Numbat, Nombat, Entprinc, EntSec)

Departement(Numdept, Nomdept, Numbat)

Donner les departements avec leur b^atiments :Departement1BatimentSELECT Numdept, Nomdept, Batiment.Numbat,

Nombat, Entprinc, Entsec

FROM Departement, Batiment

WHERE Departement.Numbat = Batiment.Numbat;

Bases de donnees

Interrogation

Sur plusieurs tablesRenommages

Il est parfois utile de renommer des tables :

SELECTatt1,att2, ...

FROMnomtable

1nouveaunom

1, nomtable

2nouveaunom

2, ...

WHEREcondition

ORDER BYatti,attj, ...Indication des renommage dans le FROM. Les anciens noms indiques dans le FROM ne peuvent pas ^etre

utilises dans les autres parties de la requ^ete.Utile lorsque l'on veut eectuer des jointures ou des produits

cartesiens d'une table avec elle-m^eme.

Bases de donnees

Interrogation

Sur plusieurs tablesExemple

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Donner les noms et la fonction des employes avec le nom de leur superieur hierarchique.

Nom;Superieur;Fonction(Num=Numsup

Nom;Numsup;Fonction(Employe)

Superieur;Num(Nom=Superieur(Employe))))SELECT Employe.Nom, Employe.Fonction, Chef .Nom

Superieur

FROM Employe, Employe

Chef WHERE Chef .Num = Employe.Numsup;

Bases de donnees

Interrogation

Sur plusieurs tablesExemple 2

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes, donnes avec leur salaire, qui gagnent moins que Bellot?

SELECT Employe.Nom, Employe.Salaire

FROM Employe, Employe bel

WHERE Employe.Salaire < bel.Salaire

AND bel.Nom = 'Bellot';

Bases de donnees

Interrogation

Sur plusieurs tablesSous-requ^etes

Il est possible d'utiliser le resultat d'une requ^ete dans une autre requ^ete.Augmentation de la puissance d'expression du langage. Les sous-requ^etes sont utilisables dans les parties WHERE

FROM (a condition de renommer le resultat)

SELECT (a condition que pour chaque ligne selectionnee par la requ^ete principale, on ne selectionne qu'une ligne dans la sous-requ^ete).En cas de con it sur les nom, c'est la declaration la plus proche qui est utilisee.

Bases de donnees

Interrogation

Sur plusieurs tablesExemple

Si la sous-requ^ete renvoie un resultat simple sur une ligne :

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes ayant la m^eme fonction que 'Jones'?

SELECT Nom

FROM Employe

WHERE Fonction =

(SELECT Fonction

FROM Employe

WHERE Nom='Jones');

Bases de donnees

Interrogation

Sur plusieurs tablesExemple : Sous-requ^ete liee a la requ^ete principale

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes qui ne travaillent pas dans le m^eme departement que leur superieur?

SELECT

Nom FROM

Employe

Emp WHERE

Num dept!=

(SELECT

Num dept

FROM

Employe

WHERE

Emp.Num sup= Num );

Bases de donnees

Interrogation

Sur plusieurs tablesSous-requ^etes renvoyant plusieurs lignes Operateurs permettant d'utiliser de telles sous-requ^etes : aIN( sousrequete)vrai siaappara^t dans le resultat desousrequete.a2ANY( sousrequete) ou2peut ^etref=;<;>;<=;>=gvrai si il existe unbparmi les lignes renvoyees par sousrequetetel quea2bsoit vrai.a2ALL( sousrequete) ou2peut ^etref=;<;>;<=;>=gvrai si pour toutes les lignesbrenvoyees parsousrequete, a2best vrai.EXISTS( sousrequete)vrai si le resultat desousrequeten'est pas vide.

Bases de donnees

Interrogation

Sur plusieurs tablesExemple

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes, donnes avec leur salaire, gagnant plus que tous les employes du departement 20?

SELECT Nom, Salaire

FROM Employe

WHERE Salaire > ALL (SELECT Salaire

FROM Employe

WHERE Numdept = 20);

Bases de donnees

Interrogation

Sur plusieurs tablesExemple 2

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept)

Quels sont les employes qui ont un subalterne?

SELECT Nom

FROM Employe Chef

WHERE EXISTS (SELECT Nom

FROM Employe

WHERE Employe.Numsup = Chef.Num);

Bases de donnees

Interrogation

Sur plusieurs tablesSous-requ^ete avec un resultat a plusieurs colonnes

On peut utiliser la notation

( a,b, ...)p ourfo rmerun n-uplet a comparer avec le resultat de la sous-requ^ete :

Schema :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Quels sont les employes ayant m^eme fonction et m^eme superieur que 'Bellot'?

SELECT Nom

FROM Employe

WHERE (Fonction, Numsup) = (SELECT Fonction, Numsup

FROM Employe

WHERE Nom='Bellot');

Bases de donnees

Interrogation

Sur plusieurs tablesSous-requ^etes imbriquees

Il est possible d'imbriquer les sous-requ^etes :

Employe(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Donner le nom et la fonction des employes du departement 20 ayant m^eme fonction qu'une personne du departement de 'Dupont'.

SELECT Nom, Fonction

FROM Employe

WHERE Numdept = 20

AND fonction IN

(SELECT Fonction

FROM Employe

WHERE Numdept = (SELECT Numdept

FROM Employe

WHERE Nom = 'Dupont'));

Bases de donnees

Interrogation

Sur plusieurs tablesOperations ensemblistes

Permettent de combiner les resultats de plusieurs SELECT.

Operateur :

[: UNION\: INTERSECTION: MINUSPas de doubles (DISTINCT implicite). Les SELECT doivent contenir le m^eme nombre d'attributs. Les noms des attributs sont ceux du premier SELECT.

C'est l'ordre des attributs qui compte.

Seul le dernier SELECT peut contenir un ORDER BY.

Les colones a utiliser pour le tri sont precisees par leur numero et pas par leur attribut.

Bases de donnees

Interrogation

Sur plusieurs tablesExemple

Schema :

Employe1(Nom, Num, Fonction, NumSup, Embauche, Salaire, NumDept) Employe2(Nom, Num, Fonction, Numsup, Embauche, Salaire, NumDept) Liste des departement ayant des employe dans 2 liales dont les employes sont donnes par Employe1 et Employe2 : (SELECT NumDept FROM Employe1)

INTERSECT

(SELECT NumDept FROM Employe2);

Bases de donnees

Interrogation

FonctionsExpressions

Il est possible d'utiliser des expressions plus complexes que simples attributs. Entre autres :Fonctions et expressions arithmetiquesquotesdbs_dbs7.pdfusesText_13