Hvad er SQL?
Relationel databasestyringssystem (RDBMS) indeholder mange tabeller. Disse tabeller er den grundlæggende lagring i databasen. Tabeller indeholder oplysninger om noget i den virkelige verden, f.eks. kunder, medarbejdere, afd. Tabeller i databasen indeholder nul til mange rækker.
SQL, som står for "Structured Query Language", som udtales som "SQL" eller "sequel. SQL er et forespørgselssprog, der bruges til at få adgang til og ændre information i en eller flere datatabeller og rækker i en database.
SQL har følgende fordele
1) Effektiv
2) Let at skrive
3) Funktionelt komplet, da de kan bruges til fuldstændigt at hente og manipulere dataene i tabellerne
Relateret :Oracle sql-afkodningsbehandling
Det er en ANSI/ISO standard. Det er blevet et Standard Universal Language, der bruges af de fleste relationelle databasestyringssystemer (RDBMS). Nogle af RDBMS-systemerne er:Oracle, Microsoft SQL-server, Sybase, MySQL, Postgres, teradata osv.
Nogle af Sql-grundlæggende, som vil hjælpe med at skrive SQL-forespørgsler
Vælg :Det bruges til at hente data fra RDBMS
Indsæt :Det bruges til at indsætte nye rækker i RDBMS
Opdatering :Det bruges til at opdatere rækkerne i RDBMS
Det kan siges, at SQL er et ikke-proceduremæssigt, engelsk-lignende sprog, der behandler data i grupper af poster i stedet for én post ad gangen.
Sådan skriver man SQL-forespørgsler
1) Vi skal først forstå kravet, dvs. hvilken kolonne der kræves, hvad alle tabeller vil blive brugt osv.
2) Alle RDBMS har samme SQL-format, men få ting i syntaksen kan afvige. Så vi bør henvise den specifikke databasemanual til lær mere om det
3) Hvis vi bare henter dataene, så er select det første søgeord at bruge
a) Vi skal beskrive tabellen, hvorfra data skal hentes
b) Vi vælger kolonnen i overensstemmelse med kravet
c) Hvis en filterbetingelse er der, skal vi angive den
d)hvis flere tabeller er der, så skal joinbetingelsen bruges
e) Filtrering kan udføres ved hjælp af where-klausulen
g) rækkefølge efter kan bruges til at præsentere dataene i stigende eller faldende rækkefølge
h) gruppe efter funktion kan bruges til at finde sum, gennemsnit osv.
Relateret: Oracle sql tutorial:Grundlæggende SQL-erklæring
Eksempler på SQL-forespørgsler
1)
select emp_id,sal from emp where sal > 10000;
Her er emp_id,sal den valgte kolonne
emp er tabellen
hvor sal> 10000 er filterbetingelsen
2) Hvis vi manipulerer data i tabellen, skal opdatering eller indsættelse bruges
Eksempel
update emp set sal=120000 where emp_id=2;
Her
emp er tabellen
update er nøgleordet for manipulation
set er nøgleordet brugt i forbindelse med update
sal=12000 er manipulationen
hvor emp_id=2 er filterbetingelsen
indsæt i emp ('emp_name','emp_id','dept_no','salary') værdier ('Tom hanks', 569797,45,1000000);
Her
vi indsætter i emp-tabellen.
3) Hvis flere tabeller er involveret, kan vi have brug for join-betingelse
Example select emp_name,emp_no,dept_no,dept_name from emp ,dept where emp.dept_no=dept.dept_no;
her
Emp og dept er tabeller
Vi udvælger poster, hvor dept_no er lig på begge tabeller. Det er et eksempel på indre sammenføjning
Disse er forskellige typer joinforbindelser, der er tilgængelige i SQL −
INNER JOIN − returnerer rækker, når der er et match i begge tabeller.
LEFT JOIN - returnerer alle rækker fra den venstre tabel, selvom der ikke er nogen match i den højre tabel.
RIGHT JOIN − returnerer alle rækker fra den højre tabel, selvom der ikke er nogen match i den venstre tabel.
FULD JOIN - returnerer rækker, når der er et match i en af tabellerne.
SELF JOIN − bruges til at forbinde en tabel med sig selv, som om tabellen var to tabeller, hvilket midlertidigt omdøber mindst én tabel i SQL-sætningen.
CARTESIAN JOIN – returnerer det kartesiske produkt af postsættene fra de to eller flere sammenføjede tabeller.
4) Hvis vi har brug for at hente datagruppe efter en kolonne, så bruges gruppe efter
SELECT dept, SUM (salary) FROM employee GROUP BY dept;
Her opsummerer vi lønningerne for alle medarbejdere afdelingsmæssigt
5)Hvis du vil sortere ansættelsestabellen efter medarbejderens løn, vil SQL-forespørgslen være.
SELECT name, salary FROM emp ORDER BY salary;
6) hvis vi ønsker at slette nogle rækker, ville SQL-forespørgslen
delete from emp where emp_id='798696';