A relációs rendszerek elméleti megalapozása után (1976) az IBM közzéteszi az „Adatbázisgép” tervet. Ehhez E.F. Codd, P. Chen és C. Date kidolgozzák a Database R rendszert.

Koncepciójuk az volt, hogy „a nagy számítógép-hálózatokban szolgáltatásokat nyújtó adatbázis­gépeken a tárolás módja és a logikai adatszerkezetek függetlenek legyenek egymástól.”
Cél egy olyan adatbázisnyelv létrehozása, amely:

  • alkalmas az adatszerkezetek definiálására
  • az adatkezelést megvalósítja
  • a fizikai műveleteket a logikai adatmanipulációs-utasítások mögé rejti
  • rendelkezik adatbiztonságra vonatkozó utasítással
  • szabványos.

Így született meg 1976-ban a SEQUEL (Strukturált Lekérdezőnyelv), amelyet később SQL -re rövidítettek. 1979-ben hozták nyilvánosságra, ettől kezdve alkalmazták a nagy és miniszámítógé­pes adatbázis-kezelők megvalósításánál (pl. DB2). Viszonylag gyorsan szabványosítot­ták, az első ANSI (Amerikai Szabványügyi Hivatal) szabvány 1986-ban jelent meg, majd 1987-ben az ISO szabvány. 2 fő szabvány ismert: az ANSI SQL és az SQL-92 v. SQL2. Van 1 feljövő­ben levő szabvány is, az SQL3, mely kiterjeszti az SQL2-t számos új résszel, mint a rekurzió, a triggerek és az objektumok. Az SQL ma már a relációs adatbázis-kezelők szabványosított nyelve. Az SQL halmaz orientált nyelv, mely a relációkon dolgozik. Nem különbözteti meg a kis- és nagybetűket.

Két felhasználási lehetősége létezik:

  1. Önálló SQL: Önálló felhasználása esetén csak a nyelv utasításai álnak a rendelkezésére.
  2. Beágyazott SQL: Egy 3. generációs algoritmikus nyelvbe ágyazva alkalmazzuk az SQL nyelv elemeit.

Az SQL jellemzői:

  • SQL = Strukturált lekérdező nyelv. Lekérdező nyelv, tehát a relációkban (táblázatok­ban) tárolt információk visszanyerésének nyelve.
  • Nem algoritmikus nyelv, amely azt jelenti, hogy nem tartalmaz algoritmus szerkeze­teket (nincs benne elágazás, ciklus, stb.).
  • A relációkalkulus alapú rendszerek közé sorolható.
  • Könnyen megtanulható, a természetes nyelvhez (angol) közelálló, különösebb szintaktikai meg­kötöttséget nem kívánó programozási nyelv. Kevés nyelvi elemet tartalmaz, de ezzel lehetőséget teremt relációs adatbázisok kialakítására, adatok felvitelére és módosítására, vala­mint sokoldalú visszanyerésére.
  • Gyakorlatilag az SQL -be beágyazódtak a relációs adatbázis-kezelő rendszerek, amelyek részben függetlenek az operációs rendszerek platformjától.

Az adattípusok: a táblázat egy-egy oszlopában elhelyezkedő adatoknak kötelezően azonos fizikai jel­lemzőkkel kell rendelkezni. Jellemző adattípusok:

  1. Rögzített vagy változó hosszúságú karaktersorok
    • CHAR(n) : típus egy rögzített hosszúságú karaktersor
    • VARCHAR(n) : legfeljebb n hosszúságú karaktersor
  2. Rögzített vagy változó hosszúságú bitsorok
    • BIT(n) : rögzített hosszúságú bitsor
    • BIT VARYING(n) : legfeljebb n bitből álló bitsor
  3. Egész számok tárolására
    • INT
    • SHORTINT
  4. Fixpontos értékek tárolására
    • DECIMAL(n , d) : ahol n: számjegy, d: tizedesjegy
  5. Lebegőpontos értékek tárolására
    • FLOAT (másnéven REAL)
    • DOUBLE PRECISION : nagyobb pontosság
  6. Dátum és idő tárolására
    • DATE
    • TIME

Az egyszerű SELECT utasítás: Segítségével adatokat kérdezhetünk le az adatbázis-táblákból. Az általunk megadott sorrendben, az általunk megadott feltételeknek megfelelő adatokat jelentethetjük meg. Az utasítás általános formája:

SELECT  <jellemzők>
FROM <tábla(k)>
[WHERE <logikai kifejezés(ek)>]
[GROUP BY <csoportosító(k)>]
[HAVING <logikai kifejezés(ek)>]
[ORDER BY <rendezés(ek)>];
A lekérdezés művelete eredményül 1 újabb táblát állít elő. A <jellemzők> definiálják az eredmény tábla oszlopait, <táblák> adják meg a lekérdezésben résztvevő táblák nevét, a <logikai kifejezés> segítségével “válogathatunk” az eredmény sorai között. A <csoportosítás> az eredmény tábla sorait rendezi egymás mellé, illetve a <rendezés> a megjelenő sorok sorrendjét határozza meg.
Pl.: A Film(cím, év, hossz, színes, stúdióNév, producerAzon) relációból kérdezzük le az összes olyan filmet, melyet a Disney-stúdió készített 1990-ben. A megfelelő SQL utasítás:
SELECT *
FROM Film
WHERE stúdióNév = 'Disney' AND év= 1990;

A FROM záradék azon reláció(ka)t adja meg, melyekre a lekérdezés vonatkozik. A WHERE záradék 1 feltétel, a relációs algebra kiválasztásának megfelelően, melyet a lekérde­zés­nek megfelelő sorok, ki kell, hogy elégítsenek. A SELECT záradék megadja a feltételeknek megfelelő sorok azon attribútumait, melyeket a lekérdezésre adott válasz tartalmazni fog. A példabeli * azt jelzi, hogy a teljes sort tartalmazni fogja a válasz. A lekérdezés eredménye az a re­láció, mely tartalmazza az összes sort, melyeket ez az eljárás előállít.

Vetítés: Ha azt szeretnénk, hogy a kiválasztott sorok bizonyos komponenseit kizárjuk az ered­ményből, akkor levetítjük az SQL lekérdezéssel előállított relációt néhány attribútumára. A SELECT záradékban a * helyett felsorolhatjuk a FROM záradékban adott reláció bármely attribútumát.

A SELECT záradékban a tételek között konstansokat is megadhatunk.