Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

A lekérdezés nyelvén SQL jelentős helyet foglal el SELECT utasítás, hiszen ennek segítségével kiválasztást végzünk az adatbázisban. Ebben a cikkben ennek a nagyon fontos SQL-utasításnak az alapjait ismertetjük.

Rengeteg cikk, könyv, oktatóanyag található az SQL-ről az interneten, de mindegyik nehéz egy olyan ember számára, aki soha nem hallott az SQL-ről, és talán még a programozásról is, ezért ezeket a forrásokat nehéz tanulmányoznia. . Itt megpróbálom elmagyarázni egyetlen operátor alapjait anélkül, hogy túl mélyre mennék ( ez az, ami megnehezíti a tanulmányozást, hogy azonnal áttérnek az alapoktól a bonyolult lekérdezések felé), így először meg kell tanulnia az alapokat, majd át kell térnie az összetettebbekre, ami megkönnyíti az SQL nyelv megtanulását. Ez a cikk nagyszerű azoknak a kezdőknek, akik szeretnék megtanulni, hogyan kell egyszerű SQL-lekérdezéseket írni adatok lekéréséhez.

Mi az SQL nyelv és a SELECT utasítás

SQL egy lekérdezési nyelv, amelyet a relációs adatbázisokban lévő adatok manipulálására (kezelésére) használnak. Nagy népszerűségnek örvend, ezért minden magát tisztelő informatikusnak ismernie kell ennek a nyelvnek az alapjait, hiszen szinte minden cég rendelkezik adatbázissal.

KIVÁLASZTÁS– az SQL nyelv operátora, az adatkezelő operátorok csoportjába tartozik ( Adatkezelési nyelv, DML), és az adatbázisból való adatok lekérésére szolgál.

Jegyzet! Az SQL nyelv és az adatbázisok elsajátítása érdekében a nagy DBMS-eknek speciális ingyenes kiadásai vannak, pl. SQL szerver A Microsoftnak van Express kiadása. Hogyan kell telepíteni adott DBMS az anyagban olvasható - A Microsoft SQL Server 2016 Express telepítésének leírása.

Íme a legegyszerűbb példa a SELECT utasítás használatára.

SELECT * FROM Table

  • * - az összes adat megjelenítése;
  • FROM - a forrásból;
  • Táblázat – forrás neve ( esetünkben a táblázat).

De a gyakorlatban gyakran nincs szükségünk a táblázat összes adatára, és néha csak néhány oszlopra, ehhez egyszerűen megadjuk a kívánt oszlop nevét a * helyett ( vagy hangszórók), Például:

ÁR KIVÁLASZTÁS A táblázatból

ahol az Ár az oszlop neve.

Jegyzet! Példaként használjuk egy egyszerű asztal számítógép modellek felsorolása, azok ára és neve.

Ha több oszlopot kell megadnia, egyszerűen sorolja fel őket vesszővel elválasztva például a SELECT utasítás után

SELECT ár, név, modell A táblázatból

ahol az ár, név, modell a táblázat táblázat oszlopai.

Kiválasztási feltétel – WHERE záradék

A mintavételi folyamatban elég gyakran kell szűrnünk az adatokat egy bizonyos feltétel szerint, pl. nem minden adatot, hanem csak azokat, amelyek megfelelnek a feltételnek, a SELECT konstrukcióban erre az operátor használható AHOL.

SELECT ár FROM táblázatból WHERE ár > 100

hol, HOL a feltétel, pl. csak azokat a sorokat jelenítjük meg, amelyek megfelelnek a feltételünknek ( ár 100 felett).

Operátorok összehasonlítása SQL-ben

  • ">" - mindennél jobban;
  • «<» – меньше чего-нибудь;
  • "=" - egyenlő;
  • «<>" - nem egyenlő;
  • ">=" - nagyobb vagy egyenlő;
  • «<=» – меньше или равно.

A feltételben is megadhatod kulcsszó KÖZÖTT, azaz az érték például egy bizonyos tartományba esik vagy nem

VÁLASZD ÁR AZ ASZTALBÓL, AHOL az ár 400-600 KÖZÖTT

ahol megadjuk, hogy az ár 400 és 600 között legyen.

A predikátum segítségével ellenőrizheti, hogy a tesztelt kifejezés értéke egy bizonyos értékkészlethez tartozik-e BAN BEN.

VÁLASZD ÁR AZ ASZTALBÓL WHERE ár IN (400, 600)

BAN BEN ez az eset csak árat kérünk 400 és 600 költséggel.

Ha csak a forrás egyedi sorait kell megkapnunk, megadhatjuk a kulcsszót KÜLÖNBÖZŐ, Például

KÜLÖNBÖZŐ ÁR KIVÁLASZTÁSA A táblázatból WHERE ár > 100

Jegyzet! Az SQL nyelv nem érzékeny a kis- és nagybetűkre, a lekérdezések egy sorba írhatók, vagy több részre oszthatók. Például a következő két lekérdezés teljesen megegyezik.

ÁR VÁLASZTÁSA ASZTALBÓL

táblázatból válassza ki az árat

Rendezés ORDER BY

Nagyon gyakran szükséges egy lekérdezés eredményét egy bizonyos mező szerint rendezni ( oszlop). Ehhez a kérés után adja meg a konstrukciót RENDEZÉSés azok a mezők ( több vesszővel elválasztható) alapján rendezheti.

ÁR KIVÁLASZTÁSA ASZTALBÓL RENDELÉS ár szerint LEÍRÁS

Ez egy példa a csökkenő sorrendben való rendezésre, de lehet növekvő sorrendben is rendezni, a DESC helyett ASC-t írunk, de általában nem így írunk, mivel a növekvő rendezés az alapértelmezett.

Összesített függvények SQL-ben

Az SQL-ben vannak nagyon hasznos úgynevezett aggregációs függvények, nevezetesen:

  • SZÁMOL— az értékek száma a megadott oszlopban;
  • ÖSSZEG a megadott oszlopban lévő értékek összege;
  • AVG- az átlagos érték a megadott oszlopban;
  • MIN— a minimális érték a megadott oszlopban;
  • MAX— a maximális érték a megadott oszlopban.

Például meg kell kapnunk egy számítógép átlagos árát, a maximumot és a minimumot, ehhez a következő lekérdezést írhatjuk

SELECT AVG(ár), MAX(ár), MIN(ár) FROM táblázatból

CSOPORTOSÍT

Csoportosíthatja az értékeket oszlopok szerint, például meg kell találnunk az átlagos árat minden számítógépmodellhez, ebben az esetben a lekérdezés a következő lesz

SELECT modell, AVG (ár) AS AVGPPrice FROM táblából GROUP BY modell

Ha észreveszi, felhasználtam az itteni feladatot" álnév» a lekérdezés eredményeinek kényelmesebb észlelése érdekében, pl. az oszlop után írja be az AS-t és azt a nevet, amelyet meg szeretne jeleníteni az eredményekben.

Valamint az egyes oszlopokban lévő feltételek használatakor a függvény segítségével a teljes csoportra is megadhat feltételt HAVING. Például meg kell határoznunk egy számítógép maximális árát, e számítógépek modelljei szerint csoportosítva, de amelynek maximális ára kevesebb, mint 500.

VÁLASZTÁS MODELL, MAX(ár) A táblázatból GROUP BY Model HAVING MAX(ár)< 500

Ebben az esetben a lekérdezésünkben modellenként csoportosítva kapjuk meg azokat a számítógépeket, amelyek maximális ára 500 alatt van.

Jegyzet! Az SQL-ben való csoportosításról ebben a cikkben olvashat bővebben.

NULL érték SQL-ben

Az SQL-ben van egy olyan érték, mint a NULL. Valójában a NULL az érték hiánya ( azok. üres). Az összes ilyen értéket tartalmazó sor megjelenítéséhez ( például még nem rendeltünk árat egyes számítógépekhez) használhatjuk a következő feltételt.

KIVÁLASZTÁS * A táblázatból, ahol az ár NULL

Ez azt jelenti, hogy meg kell keresni az összes olyan sort, amely nem tartalmaz értéket az ár mezőben.

Egyszerűsített SELECT utasítás szintaxis

KIVÁLASZTÁS<Список полей>vagy * , ...] , ...]

A jegyzet! Ha érdekli a T-SQL nyelv, akkor javaslom, hogy olvassa el „A T-SQL programozó útja” című könyvemet, amelyben részletesen, sok példával beszélek a Transact-SQL nyelv alapjairól. főleg kezdőknek.

Mára ennyi, átnéztük veled az SQL nyelv egy kis részét, nevezetesen a SELECT utasítást. Sok szerencsét!

És a táblázat feletti adatok.

Az SQL nyelvet hívják beépített, mert funkciókat tartalmaz teljes értékű nyelv fejlesztés, hanem az adatelérésre helyezi a hangsúlyt, ennek eredményeként az alkalmazásfejlesztő eszközök része. Az SQL nyelvi szabványok támogatják a nyelveket Pascal programozás, Fortran, COBOL, C stb.

Létezik 2 módszer a beágyazott SQL használatára:

  • statikus nyelvhasználat ( statikus SQL) - a program szövege olyan SQL függvények hívását tartalmazza, amelyek a fordítás után a végrehajtható modulba kerülnek.
  • dinamikus nyelvhasználat ( dinamikus SQL) – SQL függvényhívások dinamikus felépítése és értelmezése. Például, a távoli adatbázis adatait a program végrehajtása során érheti el.

Az SQL nyelvet (a többi adatbázisnyelvhez hasonlóan) lekérdezések előkészítésére és végrehajtására tervezték. Egy vagy több táblából történő adatlekérdezés végrehajtása eredményeként egy rekordkészletet kapunk, amelyet ún. teljesítmény.

1. definíció

Teljesítmény egy tábla, amely a lekérdezés végrehajtása eredményeként jön létre.

Alapvető SQL lekérdezési nyelvi operátorok

Az SQL utasítások feltételesen fel vannak osztva 2 alnyelv:

  1. Adatdefiníciós nyelv DDL;
  2. Adatkezelési nyelv DML.

A táblázatban a * jellel jelölt konkrét operátorok nyelv.

Vessünk egy pillantást a legfontosabb SQL utasításokra.

    Táblázat létrehozási nyilatkozat:

    A létrehozandó tábla neve és legalább egy oszlop (mező) neve kötelező operandus. Az oszlopnévnél meg kell adni a benne tárolt adatok típusát.

    Az egyes mezőkhöz további szabályokat is megadhat a beírt értékek szabályozására. Például, NEM NULLA azt jelzi, hogy a mező nem lehet üres, és értéket kell megadni.

    1. példa

    Táblázat létrehozásához könyveket könyvkönyvtár, amely a következő mezőket tartalmazza:

    típus- könyvtípus

    név- könyvcím,

    ár- könyv ára

    operátor így nézhet ki:

    Táblázatszerkezet-módosítási operátor:

    A táblázat szerkezetének megváltoztatásakor hozzáadhat ( HOZZÁAD), változás ( MÓDOSÍT) vagy törölni ( CSEPP) egy vagy több táblázatoszlop. Rögzítési szabályok adott operátor ugyanaz, mint a kezelőnél TÁBLÁZAT LÉTREHOZÁSA. Az oszlop törléséhez nem kell megadnia.

    2. példa

    Hozzáadás a táblázathoz könyveket mezőket szám, amely a könyvek számát tárolja, az operátort beírhatja:

    Táblázat eldobása:

    3. példa

    Például egy meglévő tábla eldobásához könyveket csak használja az operátort:

    Index létrehozási nyilatkozat:

    Az utasítás egy indexet hoz létre egy adott tábla egy vagy több oszlopában, ami felgyorsítja a lekérdezési és keresési műveleteket. Ugyanazon a táblán több index is létrehozható.

    Választható opció EGYEDI felelős az értékek egyediségének biztosításáért a nyilatkozatban megadott összes oszlopban.

    ASC beállítja az értékek automatikus rendezését az oszlopokban növekvő sorrendben (alapértelmezett), és DESC- csökkenő sorrendben.

    Index drop operátor:

    Létrehozási operátor megtekintése:

    Nézet létrehozásakor elhagyhatja az oszlopneveket. Ezután a lekérdezés oszlopnevei kerülnek felhasználásra, amelyet a megfelelő operátor ír le KIVÁLASZTÁS.

    Törlés operátor megtekintése:

    Lemezkiválasztás operátor:

    Operátor KIVÁLASZTÁS kiválasztja és számításokat végez egy vagy több tábla adatain. Az utasítás végrehajtásának eredménye egy választábla, amely tartalmazza ( MINDEN) vagy nem tartalmaz ( KÜLÖNBÖZŐ) ismétlődő sorok.

    Operandus TÓL TŐL tartalmazza azon táblák listáját, amelyekből az adatkiválasztáshoz rekordokat veszünk.

    Rekord módosítás kezelője:

    A rekordokban lévő új mezőértékek nem tartalmazhatnak értékeket ( NULLA) vagy egy aritmetikai kifejezés alapján számítjuk ki.

    Operátor az új rekordok beszúrásához:

    Az operátor első rekordjában BESZÁLLÍTÁS az új rekordok megadott értékekkel kerülnek az oszlopokba.

    Az operátor második rekordjában BESZÁLLÍTÁSúj sorok kerülnek be, amelyeket egy másik táblázatból választanak ki egy mondaton keresztül KIVÁLASZTÁS.

    Rekord operátor törlése:

    Az operátor végrehajtása eredményeként az opcionális operandus által megadott feltételnek megfelelő sorok törlődnek a megadott táblából AHOL. Ha az operandus AHOL nincs megadva, a tábla összes rekordja törlődik.

Az SQL nyelvi szabványt 1992-ben fogadták el, és ma is használatos. Ő volt az, aki sokak számára a szabvány lett.Természetesen egyes gyártók a saját szabványértelmezésüket használják. De minden rendszerben továbbra is vannak fő összetevők - SQL-utasítások.

Bevezetés

Az SQL utasítások segítségével az értékek, táblák kezelése és fogadása további elemzés és megjelenítés céljából történik. Ezek olyan kulcsszavak, amelyek alapján a rendszer megérti, hogy mit kezdjen az adatokkal.

Az SQL utasításoknak több kategóriája van meghatározva:

  • adatbázis objektumok meghatározása;
  • értékmanipuláció;
  • védelem és irányítás;
  • munkamenet paraméterei;
  • alapinformációk;
  • statikus SQL;
  • dinamikus SQL.

SQL utasítások az adatok manipulálásához

BESZÁLLÍTÁS. Sorokat szúr be egy meglévő táblázatba. Egy értékre és több értékre is használható, valamilyen feltétel határozza meg. Például:

táblázat neve (1. oszlopnév, 2. oszlopnév)

ÉRTÉKEK (érték 1, érték 2).

Az INSERT utasítás több értékre történő használatához a szintaxis a következő:

1. táblázat neve (1. oszlopnév, 2. oszlopnév)

1. oszlopnév, 2. oszlopnév KIVÁLASZTÁSA

FROM táblanév 2

WHERE tábla neve 2.oszlop neve 1>2

Ez a lekérdezés kiválasztja a 2. táblázat összes adatát, amely nagyobb, mint 2 az 1. oszlopban, és beszúrja az elsőbe.

FRISSÍTÉS. Ahogy a neve is sugallja, ez az operátor SQL lekérdezés frissíti egy meglévő tábla adatait egy bizonyos attribútum alapján.

1. táblanév FRISSÍTÉSE

SET oszlopnév 2 = "Basil"

WHERE tábla neve 1.oszlop neve 1 = 1

Ez a konstrukció kitölti Vaszilij értékkel mindazokat a sorokat, amelyekben az első oszlopban az 1-es számmal találkozik.

Adatok a táblázatból. Megadhat bármilyen feltételt, vagy eltávolíthat minden sort.

TÖRLÉS A tábla nevéből

WHERE tábla neve.oszlopnév 1 = 1

A fenti lekérdezés eltávolítja az adatbázisból az összes olyan adatot, amelynek az első oszlopban egy értéke van. És a következőképpen törölheti a teljes táblázatot:

SELECT utasítás

A SELECT fő célja az adatok bizonyos feltételek szerinti kiválasztása. Munkájának eredménye mindig egy új táblázat a kiválasztott adatokkal. Az MS operátor számos különböző lekérdezéshez használható. Ezért ezzel együtt más kapcsolódó kulcsszavakat is figyelembe vehet.

Egy adott táblázat összes adatának kijelöléséhez használja a "*" jelet.

FROM táblanév 1

A munka eredménye adott kérés az 1. táblázat pontos másolata lesz.

És itt van a WHERE feltétel szerinti kijelölés, amely az 1. táblázatból megkapja az 1. oszlop 2-nél nagyobb értékeit.

FROM táblanév 1

WHERE tábla neve 1.oszlop neve 1 > 2

Azt is megadhatja a kijelölésben, hogy csak bizonyos oszlopokra van szükség.

1. táblanév KIVÁLASZTÁSA.1. oszlopnév

FROM táblanév 1

Ennek a lekérdezésnek az eredménye az összes olyan sor lesz, amely az 1. oszlopból származó értékeket tartalmazza. Az MS SQL utasítások segítségével saját táblázatot hozhat létre bizonyos értékek cseréjével, kiszámításával és helyettesítésével útközben.

táblázat neve 1.oszlop neve 1

táblázat neve 1.oszlop neve 2

táblázat neve 1.oszlop neve 3

táblázat neve 1.oszlop neve 2 * tábla neve 1.oszlop neve 3 AS SUMMA

FROM táblanév 1

Ez a látszólag összetett lekérdezés az 1. táblázat összes értékét lekéri, majd új EQ és SUMMA oszlopokat hoz létre. Az elsőbe a „+” jelet írja be, a másodikba pedig a 2. és 3. oszlop adatainak szorzatát. Az eredményt táblázat formájában is bemutathatjuk, hogy megértsük, hogyan működik:

A SELECT utasítás használatakor azonnal rendezhetjük az adatokat valamilyen attribútum szerint. Erre az ORDER BY szót használjuk.

táblázat neve 1.oszlop neve 1

táblázat neve 1.oszlop neve 2

táblázat neve 1.oszlop neve 3

FROM táblanév 1

ORDER BY oszlopnév 2

A kapott táblázat így fog kinézni:

Vagyis minden sor olyan sorrendben lett beállítva, hogy a 2. oszlopban lévő értékek növekvő sorrendben legyenek.

Az adatok több táblából is lekérhetők. Az egyértelműség kedvéért először el kell képzelnie, hogy kettő van belőlük az adatbázisban, valami ilyesmi:

"Alkalmazottak" táblázat

"Bérezés" táblázat

Most valahogy össze kell kapcsolnia ezt a két táblát, hogy közös értékeket kapjon. Alapvető SQL utasítások használatával ezt a következőképpen teheti meg:

Személyzet.Szám

Munkavállaló neve

Fizetés, arány

Fizetés. Felhalmozott

Alkalmazottaktól, Fizetés

WHERE Alkalmazottak.Szám = Fizetés.Szám

Íme egy válogatás kettőből különböző táblázatokértékek szám szerint csoportosítva. Az eredmény a következő adatkészlet lesz:

Egy kicsit többet a SELECT-ről. Összesített függvények használata

Az egyik fő operátor elvégezhet némi számítást a lekéréssel. Ehhez bizonyos függvényeket és képleteket használ.

Például az „Alkalmazottak” táblából a rekordok számának lekéréséhez a lekérdezést kell használnia:

SZÁM VÁLASZTÁSA (*) N-ként

Az alkalmazottaktól

Az eredmény egy táblázat egy értékkel és egy oszloppal.

Használhatja ezt a lekérdezést, és megnézheti, mi történik:

SZUM(Bér. Felhalmozott) SZUMMAKÉNT

MAX(Bér.Felhalmozott) AS MAX

MIN(Bér. Felhalmozott) AS MIN

AVG(Felhalmozott fizetés) AS SRED

A fizetéstől

A döntő asztal így fog kinézni:

Ily módon kiválaszthatja a kívánt értékeket az adatbázisból a különféle függvények menet közbeni kiszámításával.

Unió, metszéspont és különbségek

Több lekérdezés kombinálása SQL-ben

SELECT Employees.Name

Az alkalmazottaktól

WHERE Alkalmazottak.Szám = 1

SELECT Employees.Name

Alkalmazottaktól, Fizetés

HOL Fizetés.Szám = 1

Nem szabad megfeledkezni arról, hogy egy ilyen összekapcsolással az asztaloknak kompatibilisnek kell lenniük. Azaz, hogy ugyanannyi oszlop legyen.

SELECT utasítás szintaxisa és feldolgozási sorrendje

Először is, a SELECT meghatározza azt a területet, ahonnan adatot vesz. Erre a FROM kulcsszót használjuk. Ha nincs megadva, hogy pontosan mit válasszunk.

Ekkor lehet, hogy van egy SQL WHERE záradék. Segítségével a SELECT a tábla összes sorát végigfutja, és ellenőrzi, hogy az adatok megfelelnek-e a feltételnek.

Ha van egy GROUP BY a lekérdezésben, akkor az értékek a megadott paraméterek szerint vannak csoportosítva.

Adat-összehasonlító operátorok

Többféle is létezik belőlük. SQL-ben az összehasonlító operátorok ellenőrizhetik Különféle típusokértékeket.

    "=". Amint azt sejtheti, két kifejezés egyenlőségét jelöli. Például a fenti példákban már használták - WHERE Fizetés.Szám = 1.

    ">". Több jel. Ha a kifejezés bal oldalának értéke nagyobb, mint, akkor visszatér logikai IGAZés a feltételt teljesítettnek tekintjük.

    «<». Знак меньше. Обратный предыдущему оператор.

    jelek"<=» и «>=". Abban különbözik az egyszerű több és kevesebb operátortól, hogy ha az operandusok egyenlőek, akkor a feltétel is igaz lesz.

MINT

Ez a kulcsszó "hasonlónak" fordítható. A LIKE operátort az SQL-ben hozzávetőleg ugyanígy használják – sablon szerint hajtja végre a lekérdezést. Vagyis lehetővé teszi, hogy reguláris kifejezésekkel bővítse az adatbázisból származó adatok választékát.

Például a következő feladatot tűzték ki: a már ismert "Alkalmazottak" bázisból minden olyan embert lekérni, akinek a neve "én"-re végződik. Ekkor a lekérdezés így írható:

Az alkalmazottaktól

WHERE Név LIKE `%i`

A százalékjel ebben az esetben maszkot jelent, vagyis bármely karaktert és azok számát. És az "i" betű alapján az SQL meghatározza, hogy az utolsó karakternek pontosan ez legyen.

ÜGY

Ez az SQL Server utasítás a többszörös kijelölés megvalósítása. Sok programozási nyelvben hasonlít a switch konstrukcióra. Az SQL CASE utasítása több feltétel esetén hajt végre műveletet.

Például ki kell választania a maximális és minimális értéket a Fizetés táblázatból.

Ekkor a lekérdezés így írható:

A fizetéstől

WHERE CASE WHEN SELECT MAX(Accrued) THEN Maximum

AMIKOR KIVÁLASZTÁSA MIN(Felhalmozott) MAJD Minimum

Ebben az összefüggésben a rendszer a maximális és minimális értéket keresi a Felhalmozott oszlopban. Ezután az END használatával létrejön egy „összesen” mező, amelybe a „Maximum” vagy a „Minimum” kerül beírásra, a feltétel eredményétől függően.

Egyébként az SQL-nek van egy kompaktabb formája is a CASE - COALESCE.

Adatdefiníciós operátorok

Ez a nézet lehetővé teszi a táblák különféle módosításait - indexek létrehozását, törlését, módosítását és kezelését.

Az első, amit érdemes megfontolni, a CREATE TABLE. Nem tesz mást, mint létrehoz egy táblázatot. Ha csak a CREATE TABLE lekérdezést írja be, semmi sem fog történni, mivel még meg kell adnia néhány paramétert.

Például a már ismerős Alkalmazottak tábla létrehozásához a következő parancsokat kell használnia:

TÁBLÁZAT LÉTREHOZÁSA Alkalmazottak

(Számszám(10) NEM NULL

Név varchar(50) NOT NULL

Varchar vezetéknév (50) NEM NULL)

Ebben a lekérdezésben zárójelben azonnal meghatározásra kerül a mezők neve és típusa, valamint az, hogy egyenlő lehet-e NULL-lal.

DROP TABLE

Egy egyszerű feladatot hajt végre, a megadott táblázat eldobásával. Egy további IF EXISTS paraméterrel rendelkezik. Elnyeli a hibát a törléskor, ha a keresett tábla nem létezik. Használati példa:

Drop TABLE Alkalmazottak, HA LÉTEZIK.

INDEX LÉTREHOZÁSA

Az SQL rendelkezik egy indexrendszerrel, amely lehetővé teszi az adatok elérésének felgyorsítását. Általában ez egy hivatkozás, amely egy adott oszlopra mutat. Indexet létrehozhat egy egyszerű lekérdezéssel:

CREATE INDEX index_name

ON tábla_neve(oszlop_neve)

Ezt az operátort T-SQL, Oracle, PL SQL és sok más értelmezési technológiában használják.

ALTER TABLE

Nagyon funkcionális kezelő számos lehetőséggel. Általában megváltoztatja a táblázatok szerkezetét, meghatározását és elhelyezését. Az operátort az Oracle SQL-ben, a Postgres-ben és sok másban használják.

    HOZZÁAD. Hozzáad egy oszlopot a táblázathoz. Szintaxisa: ALTER TABLE táblanév ADD oszlopnév tárolt_adattípus. Rendelkezhet egy IF NOT EXISTS opcióval a hiba elnyomására, ha a létrehozandó oszlop már létezik;

    CSEPP. Töröl egy oszlopot. Van egy IF EXISTS kulcs is, amely nélkül hibaüzenetet generál, miszerint a szükséges oszlop hiányzik;

    VÁLTOZÁS. A mezőnév átnevezésére szolgál a megadott névre. Használati példa: ALTER TABLE táblázat_neve CHANGE régi_név új_név;

    MÓDOSÍT. Ez a parancs segít megváltoztatni egy adott oszlop típusát és további attribútumait. És a következőképpen használják: ALTER TABLE táblanév MODIFY oszlopnév adattípus attribútumok;

NÉZET LÉTREHOZÁSA

Az SQL-ben létezik olyan, hogy nézet. Röviden, ez egyfajta virtuális tábla adatokkal. Az SQL SELECT utasítással végzett kiválasztás eredményeként jön létre. A nézetek korlátozhatják az adatbázishoz való hozzáférést, elrejthetik azokat, helyettesíthetik a valós oszlopneveket.

A létrehozási folyamat egy egyszerű kéréssel történik:

CREATE VIEW nézet neve AS SELECT FROM * tábla neve

A mintavétel történhet a teljes adatbázis egészeként és bizonyos feltételek szerint.

Egy kicsit a funkciókról

Az SQL-lekérdezések gyakran használnak különféle beépített függvényeket, amelyek lehetővé teszik az adatokkal való interakciót és azok menet közbeni átalakítását. Érdemes ezeket figyelembe venni, hiszen egy strukturált nyelv szerves részét képezik.

    SZÁMOL. Megszámolja egy adott tábla rekordjait vagy sorait. Paraméterként megadhatjuk az oszlop nevét, akkor onnan veszik át az adatokat. SELECT COUNT * FROM alkalmazottak;

    A.V.G. csak a numerikus adatokat tartalmazó oszlopokra vonatkozik. Ennek eredménye az összes érték számtani középértékének meghatározása;

    MIN és MAX. Ezeket a funkciókat már használtuk ebben a cikkben. Meghatározzák a maximális és minimális értékeket a megadott oszlopból;

    ÖSSZEG. Egyszerű – a függvény kiszámítja az oszlopértékek összegét. Kizárólag a numerikus adattípusokhoz használatos. Ha hozzáadja a DISTINCT paramétert a lekérdezéshez, csak az egyedi értékek összegződnek;

    KEREK. A tizedes törtszámok kerekítésének függvénye. A szintaxis az oszlop nevét és a tizedesjegyek számát használja;

    len. Egy egyszerű függvény, amely kiszámítja egy oszlop értékeinek hosszát. Az eredmény egy új táblázat lesz, amely jelzi a karakterek számát;

    MOST. Ez a kulcsszó az aktuális dátum és idő kiszámítására szolgál.

További operátorok

Az SQL-utasítás példái közül sok olyan kulcsszavakat tartalmaz, amelyek kis feladatokat hajtanak végre, de mégis nagyban leegyszerűsítik a kijelöléseket vagy az adatbázis-műveleteket.

    MINT. Akkor használatos, ha az eredményt úgy kell megjeleníteni, hogy a megadott nevet hozzárendeli a kapott táblához.

    KÖZÖTT. Nagyon praktikus kiválasztási eszköz. Meghatározza az értékek tartományát, ahonnan az adatok lekérhetők. A bemenet egy paramétert fogad el, és milyen számig használja a tartományt;.

    NEM. Az operátor a kifejezés ellenkezőjét adja meg.

    CSONKA. Eltávolítja az adatokat az adatbázis meghatározott régiójából. A hasonló operátoroktól abban különbözik, hogy használata után lehetetlen visszaállítani az adatokat. Érdemes megfontolni, hogy ennek a kulcsszónak a megvalósítása az SQL különböző értelmezéseiben eltérő lehet. Ezért a TRUNCATE használatának kipróbálása előtt jobb, ha elolvassa a súgót.

    HATÁR. Beállítja a megjelenítendő sorok számát. A kezelő sajátossága, hogy mindig a végén található. Ehhez egy kötelező és egy opcionális paraméter szükséges. Az első azt határozza meg, hogy hány sor jelenjen meg a kiválasztott adatokkal. És ha a másodikat használjuk, akkor az operátor úgy működik, mint egy értéktartomány esetén.

    UNIÓ. Nagyon praktikus operátor több lekérdezés kombinálásához. Ebben a cikkben már találkozott erre a példák között. A kényelmesebb használat érdekében több táblázatból is megjelenítheti a kívánt sorokat, ha azokat UNION-nal összekapcsolja. A szintaxis a következő: SELECT oszlopnév FROM táblanév UNION SELECT másik oszlopnév FROM másik táblanév. Az eredmény egy pivot tábla kombinált lekérdezésekkel.

    ELSŐDLEGES KULCS. Lefordítva: "elsődleges kulcs". Valójában ezt a terminológiát használják a referenciaanyagokban. Az egyedi sorazonosítót jelöli. Általában a táblázat létrehozásakor használatos az azt tartalmazó mező megadására.

    ALAPÉRTELMEZETT. Az előző operátorhoz hasonlóan ez is a lekérdezés létrehozásának folyamatában használatos. Meghatározza azt az alapértelmezett értéket, amely a létrehozáskor kitöltésre kerül a mezőben.

    NULLA. A kezdők és nem csak a programozók a lekérdezések összeállításakor nagyon gyakran megfeledkeznek a NULL érték megszerzésének lehetőségéről. Emiatt hiba kúszik a kódba, amit a hibakeresés során nehéz nyomon követni. Ezért a táblák létrehozásakor, az értékek kijelölése vagy újraszámítása során meg kell állnia, és el kell gondolkodnia azon, hogy figyelembe veszi-e a NULL előfordulását a lekérdezés ezen szakaszában.

    Memória. Ez a cikk számos olyan funkciót mutat be, amelyek bizonyos feladatokat végrehajthatnak. Az adatbázissal való munkavégzéshez szükséges shell fejlesztésekor „meghaladhatja” az adatbázis-kezelő rendszer egyszerű kifejezéseinek kiszámítását. Bizonyos esetekben ez jelentős teljesítménynövekedést ad.

    Korlátozások. Ha egy több ezer sort tartalmazó adatbázisból csak kettőt kell beszereznie, akkor olyan operátorokat kell használnia, mint a LIMIT vagy a TOP. Nincs szükség adatok kinyerésére a shell fejlesztői nyelv használatával.

    Összetett. Miután több táblából is megkapta az adatokat, sok programozó elkezdi összehozni azokat shell memória segítségével. De miért? Végül is tehet egy kérést, amelyben mindez jelen lesz. Nem kell extra kódot írnia és további memóriát lefoglalnia a rendszerben.

    Válogatás. Ha lehetséges a lekérdezésben rendezést alkalmazni, azaz DBMS által, akkor ezt kell használni. Ez jelentősen megtakarítja az erőforrásokat egy program vagy szolgáltatás futtatásakor.

    Sok kérés. Ha sok rekordot kell egymás után beszúrnia, akkor az optimalizálás érdekében érdemes az adatok egy lekérdezésben történő kötegelt beszúrásán gondolkodni. Ez a teljes rendszer egészének teljesítményét is növeli.

    Az adatok átgondolt elhelyezése. Az adatbázis szerkezetének összeállítása előtt át kell gondolni, hogy szükséges-e ekkora számú tábla és mező. Lehet, hogy van mód egyesíteni őket, vagy eldobni néhányat. Nagyon gyakran a programozók túl sok adatot használnak fel, amelyet soha sehol nem fognak felhasználni.

    Típusok. A hely és az erőforrások megtakarítása érdekében érzékenynek kell lennie a felhasznált adattípusokra. Ha lehet memória szempontjából kevésbé "nehéz" típust használni, akkor azt kell használni. Például, ha ismert, hogy egy adott mezőben a numerikus érték nem haladja meg a 255-öt, akkor minek használjunk 4 bájtos INT-t, ha van egy 1 bájtos TINYINT.

Következtetés

Végezetül meg kell jegyezni, hogy az SQL strukturált lekérdezési nyelvet ma már szinte mindenhol használják - webhelyeken, webszolgáltatásokban, PC-programokban, mobileszközökre szánt alkalmazásokban. Ezért az SQL ismerete a fejlesztés minden ágát segíti.

Ugyanakkor az eredeti nyelvi szabvány módosításai néha eltérnek egymástól. Például a PL SQL utasítások szintaxisa eltérő lehet, mint az SQL Serverben. Ezért, mielőtt elkezdené a fejlesztést ezzel a technológiával, olvassa el a kézikönyvet.

A jövőben valószínűleg nem fognak megjelenni olyan analógok, amelyek funkcionalitás és teljesítmény tekintetében felülmúlhatják az SQL-t, így ez a terület minden programozó számára ígéretes rést jelent.

Az SQL SELECT utasítás olyan lekérdezésekre szolgál, amelyek adatbázisból választanak ki adatokat. Használható feltételek nélkül (az összes sor kijelölése az összes oszlopban vagy az összes sor az adott oszlopokban), vagy több feltétellel (adott sorok kiválasztása), amelyek a WHERE záradékban vannak megadva. Ismerkedjünk meg azokkal az SQL-eszközökkel, amelyekkel ezeket a feltételeket beállíthatjuk egy adatkiválasztásnál, és tanuljuk meg a SELECT utasítás használatát az allekérdezésekben.

SELECT a táblázat oszlopainak kiválasztásához

Egy SELECT utasítással rendelkező lekérdezés a táblázat összes oszlopának kijelölésére a következő szintaxissal rendelkezik:

SELECT * FROM TABLE_NAME

Vagyis a táblázat összes oszlopának kijelöléséhez a SELECT szó után egy csillagot kell tenni.

1. példa Van egy cégadatbázis - Vállalat. Van egy asztala: Org (a vállalat felépítése) és személyzete (alkalmazottak). A táblázatok összes oszlopát ki kell választani. A megfelelő lekérdezés a Szervezeti tábla összes oszlopának kiválasztásához a következő:

SELECT * FROM ORG

Ez a lekérdezés a következőket adja vissza (a kép nagyításához kattintson rá a bal egérgombbal):

A Személyzet táblázat összes oszlopának kiválasztására vonatkozó lekérdezés így néz ki:

KIVÁLASZTÁS * A SZEMÉLYZETTŐL

Ez a lekérdezés a következőket adja vissza:


A táblázat egyes oszlopainak kijelöléséhez a csillag helyett az összes kiválasztandó oszlop nevét kell felsorolnunk, vesszővel elválasztva:

OSZLOPOK KIVÁLASZTÁSA A TABLE_NAME TÁBLÁZATBÓL A KIVÁLASZTÁSHOZ

2. példa Legyen kötelező az Org táblából kijelölni a Depnumb és Deptname oszlopokat, amelyek a cég részlegeinek számát, illetve nevüket tartalmazzák. Az ilyen kijelölés lekérdezése a következő lenne:

KIVÁLASZTÁS A DEPNUMB, OSZTÁLYNÉV A SZERVEZETBŐL

A Személyzet táblázatból pedig ki kell választania az OSZTÁLY, NÉV, MUNKA oszlopokat, amelyek tartalmazzák annak az osztálynak a számát, amelyben a munkavállaló dolgozik, a nevét és beosztását:

OSZTÁLY, NEVV, ÁLLÁS KIVÁLASZTÁSA ALKALMAZOTTÓL

Bizonyos táblázatsorok kijelöléséhez a SELECT utasítással együtt már szükségünk van a WHERE kulcsszóra, amely a számunkra érdekes sorokban található valamilyen értékre vagy több értékre mutat. A legegyszerűbb feltételeket az összehasonlító és egyenlőségi operátorok (, =), valamint az IS kulcsszó segítségével adjuk meg. Több feltétel is lehet, ezek az ÉS kulcsszó használatával kerülnek listázásra. A sorkiválasztási lekérdezések a következő szintaxissal rendelkeznek:

4. példa Az előző példában csak egy oszlop – DEPT – értékével választottunk ki sorokat a táblázatból. Tegyük fel, hogy most olyan alkalmazottak adatait kell kiválasztanunk, akik a 38. osztályon dolgoznak, és akiknek a beosztása alkalmazott (Jegyző). Ehhez a WHERE részben fel kell sorolni a megfelelő értékeket az ÉS szóval:


5. példa Legyen szükséges a Staff táblából kiválasztani azon munkavállalók azonosítóit és nevét, akiknek a jutaléka határozatlan. Ehhez a WHERE szakaszban a COMM - NULL oszlop értékének megadása előtt nem egyenlőségjelet kell tennie, hanem az IS szót:

Ez a lekérdezés a következő adatokat adja vissza:


Összehasonlító jeleket is használnak a kiválasztandó sorok értékeinek jelzésére.

SELECT és IN, OR, BETWEEN, LIKE predikátumok használata

A predikátumok - az IN, OR, BETWEEN, LIKE szavak a WHERE záradékban - lehetővé teszik bizonyos értéktartományok (IN, OR, BETWEEN) vagy sorokban lévő értékek (LIKE) kiválasztását is, amelyeket ki szeretne választani a asztal. Az IN, OR, BETWEEN predikátumot tartalmazó lekérdezések a következő szintaxissal rendelkeznek:

A LIKE predikátummal rendelkező lekérdezések a következő szintaxissal rendelkeznek:

7. példa Tegyük fel, hogy a Személyzet táblázatból szeretné kiválasztani a 20-as vagy 84-es számú osztályokon dolgozó alkalmazottak nevét, beosztását és ledolgozott éveinek számát. Ezt a következő lekérdezéssel tehetjük meg:

A lekérdezés végrehajtásának eredménye:


8. példa Tegyük fel, hogy most ugyanazokat az adatokat szeretné kiválasztani a Személyzet táblázatból, mint az előző példában. A VAGY szót tartalmazó lekérdezés hasonló az IN szót tartalmazó lekérdezéshez, amely zárójelben tartalmazza az érdekes értékeket. A kérés a következő lesz:

9. példa Ugyanabból a táblázatból válasszuk ki a 15 000 és 17 000 közötti fizetésű munkavállalók nevét, beosztását és a ledolgozott évek számát:

A lekérdezés végrehajtásának eredménye:


A LIKE predikátum azon karakterláncok kiválasztására szolgál, amelyek értékei tartalmazzák az aposztrófok (") közötti predikátum után megadott karaktereket.

10. példa Ugyanabból a táblázatból válasszuk ki az S betűvel kezdődő és 7 karakterből álló munkavállalók nevét, beosztását és a ledolgozott évek számát:

Az aláhúzás karakter (_) bármely karaktert jelent. A lekérdezés végrehajtásának eredménye:


11. példa. Ugyanabból a táblázatból válasszuk ki azoknak a munkavállalóknak a nevét, beosztásait és a ledolgozott évek számát, akiknek a neve S betűvel kezdődik, és tetszőleges számban tartalmaz más betűket:

A százalékszimbólum (%) tetszőleges számú karaktert jelent. A lekérdezés végrehajtásának eredménye:


Az IN, OR, BETWEEN, LIKE predikátumokkal megadott értékek megfordíthatók a NEM szóval. Ekkor a kért adatok ellenkező jelentésűek lesznek. Ha a NOT IN (20, 84) értéket használjuk, akkor a 20-as és 84-esek kivételével minden osztályon dolgozó alkalmazottak adatai jelennek meg A NOT BETWEEN 15000 ÉS 17000 használatával olyan munkavállalók adatait kaphatjuk meg, akiknek a fizetése nem szerepel. 15000-től 17000-ig terjedő intervallumban. A NOT LIKE lekérdezés azoknak az alkalmazottaknak az adatait adja vissza, akiknek a neve nem kezdődik, vagy nem tartalmaz a NOT LIKE karaktereket.

Írjon SQL lekérdezéseket SELECT és IN, NOT IN, BETWEEN predikátumokkal, majd tekintse meg a megoldásokat

Van egy "Színház" adatbázis. A játéktábla játékadatokat tartalmaz. Table Team - a színészek szerepeiről. A Színész táblázat a színészekről szól. Táblázat igazgató - a rendezőkről. A táblázat mezői, elsődleges és idegen kulcsai az alábbi ábrán láthatók (nagyításhoz kattintson a bal egérgombbal).


12. példa. Mutasd meg azoknak a színészeknek a listáját, akiket soha nem hagytak jóvá a főszerepre. A csapattáblázatban a főszerepekre vonatkozó adatokat a főcsapat oszlop tartalmazza. Ha a szerep a fő, akkor a megfelelő sorban "Y" van jelölve.

SELECT és ORDER BY - sorok rendezése (rendezése).

Az eddig elemzett SQL SELECT lekérdezések olyan sorokat adtak vissza, amelyek tetszőleges sorrendben lehetnek. Gyakran azonban szükséges a karakterláncok numerikus sorrend, ábécé és egyéb kritériumok szerinti rendezésére. Ez a ORDER BY kulcsszó használatával történik. Az ilyen lekérdezések a következő szintaxissal rendelkeznek:

15. példa Legyen kötelező a Személyzet táblázatból kiválasztani a 84-es osztályon dolgozókat, és a nyilvántartásokat a ledolgozott évek száma szerint növekvő sorrendbe rendezni:

Az ASC szó azt jelzi, hogy a rendezési sorrend növekvő. Ez a szó nem kötelező, mivel a növekvő rendezési sorrend az alapértelmezett. A lekérdezés végrehajtásának eredménye:


16. példa Legyen megkövetelve, hogy ugyanazokat az adatokat válasszuk ki, mint az előző példában, de rendezzük (rendezzük) a rekordokat a ledolgozott évek száma szerint csökkenő sorrendben:

A DESC szó azt jelzi, hogy a rendezési sorrend csökkenő. A lekérdezés végrehajtásának eredménye:


SELECT és DISTINCT – ismétlődő sorok eltávolítása

Ha az egyediség feltétele nincs megadva a táblázatsorok értékeihez, akkor azonos sorok jelenhetnek meg a lekérdezés eredményeiben. Gyakran csak egyedi karakterláncokat szeretne megjeleníteni. Ez a DISTINCT utasítás használatával történik a SELECT utasítás után.

17. példa. Legyen szükséges megtudni, hogy milyen osztályok léteznek és milyen pozíciók vannak a 30-nál kisebb létszámú osztályok között. Ezt a következő lekérdezéssel tehetjük meg:

A lekérdezés végrehajtásának eredménye:


SELECT utasítás SQL-allekérdezésekben

Eddig SELECT utasítással foglalkoztunk az SQL konstrukciókkal, amelyeknél az adatok kiválasztásának és a kiválasztandó adatoknak a feltételeit egy adatbázistábla tartalmazza. A gyakorlatban gyakran előfordul, hogy a kiválasztandó adatokat egy tábla, a feltételeket pedig egy másik táblázat tartalmazza. Itt jönnek a segédlekérdezések: a kiválasztási feltétel értékeit egy másik lekérdezés (allekérdezés) adja vissza, amely szintén SELECT-vel kezdődik. Az allekérdezéseket tartalmazó lekérdezések egy vagy több sort hozhatnak létre.

18. példa. Ugyanazok az ORG és STAFF asztalok. Legyen előírva, hogy a 280-as azonosítószámú alkalmazott melyik osztályon dolgozik, és hol található. A részlegekre vonatkozó információk azonban az ORG táblában, az alkalmazottakkal kapcsolatos információk pedig a SZEMÉLYZET táblában vannak tárolva. Ezt a következő segédlekérdezéssel lehet megtenni, ahol a külső SELECT az ORG táblában, a belső SELECT pedig a STAFF táblában található:

A lekérdezés végrehajtásának eredménye:


19. példa. Legyen most ki kell deríteni, hogy mely részlegeken dolgoznak (duplikáció nélkül) 13 000 alatti fizetésű alkalmazottak, ehhez a külső SELECT WHERE részében (ORG tábla lekérdezése) egy olyan feltételt kell megadni, amely egy értéktartományt (IN), és a belső SELECT (a STAFF táblához) csak a szükséges értéktartományt adja vissza:

Relációs adatbázisok és SQL nyelv

Szakág: Adatbázisok

Nyelvi operátorokSQL

Az SQL nyelv különböző kategóriájú operátorokat tartalmaz. Bármely SQL utasítás lefoglalt szavakból és a felhasználó által meghatározott szintaktikai szabályokkal összhangban meghatározott szavakból áll. Mint sok programozási nyelv esetében, a nyelv legtöbb utasítás-összetevője nem érzékeny a kis- és nagybetűkre. Ez alól a szabály alól kivételt képeznek, mint általában, a karakteradatok, amelyeknek kis- és nagybetűket kell figyelembe venniük, és azt kell használniuk, amelyre az adatok ábrázolásához szükség van.

Az utasítások nyelven történő írásához egy szabad formátumot alkalmaznak, amely lehetővé teszi az SQL program olvashatóbbá tételét behúzással és igazítással.

    az utasításban minden egyes kifejezésnek új sorban kell kezdődnie;

    az egyes kifejezések elejét az állítás többi kifejezésének elejéhez kell igazítani;

    a kifejezés minden részének új sorban kell kezdődnie, némi behúzással az egész kifejezés elejéhez képest, ami lehetővé teszi az alárendelt részek kiemelését;

    Néhány konvenció vonatkozik az operátorok írására:

    a nagybetűket a fenntartott szavak írásához használják;

    kisbetűket használnak a felhasználó által meghatározott szavak írásához;

    a függőleges sáv "|" azt jelzi, hogy ki kell választani egyet a több érték közül;

    a göndör zárójelek meghatároznak egy szükséges elemet;

    a szögletes zárójelek egy opcionális elemet határoznak meg;

    a "..." ellipszis jelzi a konstrukció opcionális megismétlésének lehetőségét, nullától többszöriig.

Az adatdefiníciós operátorok (1. táblázat) a használt adatstruktúrák leírására szolgálnak. Ez a kategória a következő utasításokat tartalmazza: tábla létrehozása, tábla eldobása, tábla módosítása, nézet létrehozása, NÉZET MÓDOSÍTÁSA, NÉZET DROP VIEW.

Asztal 1 . Adatdefiníciós operátorok

Operátor Magyarázat

táblázat létrehozása

DROP asztal

asztal megváltoztatása

NÉZET LÉTREHOZÁSA Hozzon létre egy nézetet

nézet megváltoztatása

csepp nézet

Az adatmanipulációs operátorok, amelyek az operátorok következő kategóriáját alkotják, arra szolgálnak, hogy táblákat töltsenek ki adatokkal és frissítsék a beléjük betöltött információkat. Ez a kategória a következő operátorokat tartalmazza: törlés, beszúrás, frissítés (2. táblázat).

2. táblázat . Adatmanipulációs operátorok

OperátorMagyarázat

Törlés Töröl egy vagy több olyan sort, amely megfelel a feltételeknek

szűrés, alaptáblázatból

INSERT Beszúr egy sort az alaptáblázatba

frissítés Frissíti egy vagy több oszlop értékét

több sor megfelel a szűrési feltételeknek

Az adatbázisból való információ kiválasztásához a lekérdezési nyelv szolgál, amelyet az SQL nyelvben egyetlen select utasítás képvisel (3. táblázat).

3. táblázat Lekérdezési nyelv

Operátor Magyarázat

válassza a Sorok kijelölése lehetőséget; operátor, amely lehetővé teszi a kapott eredmény létrehozását

a lekérdezésnek megfelelő táblázat

A feltüntetett üzemeltetői kategóriákon kívül, amelyek célját a táblázatokban szereplő magyarázatok elolvasása után nem nehéz elképzelni, még kettőt szükséges kiemelni: a tranzakciókezelő operátorokat (4. táblázat) és az adatkezelési eszközöket (5. táblázat) .

4. táblázat. Tranzakciókezelés

Kezelői magyarázat

commit A tranzakció befejezése - az információfeldolgozás befejezése,

tranzakcióvá kombinálják

visszagörgetés Visszagörgetési tranzakció - a végrehajtás során végrehajtott változtatások visszavonása

az adatbázis állapotát, jelölje be, hogy később visszatérhessen hozzá

5. táblázat . Adatkezelés

Kezelői magyarázat

ADATBÁZIS MÓDOSÍTÁSA Módosítsa az adatbázis alapvető objektumai halmazát, korlátozásokat

a teljes adatbázist

ALTER DBAREA Módosítson egy korábban létrehozott tárolóterületet

JELSZÓ MÓDOSÍTÁSA Változtassa meg a teljes adatbázis jelszavát

ADATBÁZIS LÉTREHOZÁSA Hozzon létre egy új adatbázist

DBAREA LÉTREHOZÁSA Hozzon létre egy új tárhelyet, és tegye elérhetővé a tároláshoz

ADATBÁZIS ELdobása Meglévő adatbázis eldobása

DROP DBAREA Töröljön egy meglévő tárterületet (ha az jelenleg nem tartalmaz

aktív adatok találhatók)

GRANT Hozzáférési jogokat biztosít számos művelethez bizonyos adatbázis-objektumokon

REVOKE Hozzáférési jogok visszavonása bizonyos objektumokhoz vagy műveletekhez

tárgy

A kereskedelmi DBMS-ben az alapoperátorok készlete kibővül. A legtöbb DBMS utasításokat tartalmaz a tárolt eljárások futtatási indexének meghatározásához és törléséhez, valamint utasításokat az eseményindítók meghatározásához.

Ezzel a nyelvvel szokás a lekérdező nyelv képességeinek mérlegelésével kezdeni az ismerkedést, amit az SQL nyelvben egyetlen select utasítás reprezentál, mert természetesen ez az erőteljes utasítás is a legösszetettebb. Ezen túlmenően érdekes látni, hogyan használható a jövőben az adatkezelő operátorokkal együtt.

    Válassza ki a nyilatkozatotKIVÁLASZTÁS . Adatbázis lekérdezések kialakítása

A select utasítás célja egy vagy több adatbázistábla adatainak kiválasztása és megjelenítése. Ez a rendkívül hatékony, leggyakrabban használt operátor az összes relációs algebrai műveletet megvalósítja. Ugyanaz a kérés többféleképpen is megvalósítható, amelyek végrehajtási idejében jelentősen eltérhetnek.

Válassza ki a nyilatkozat formátumát:

KIVÁLASZTÁS *|<список полей>TÓL TŐL<список таблиц>

A select utasításban a kifejezések megadott sorrendje nem változtatható meg, de nem minden része kötelező. A kötelező kitételek csak a select és from klauzulákat tartalmazzák. A kezelő összes többi alkatrésze a programozó belátása szerint használható. Magyarázat:

□ Kifejezés válassza ki:

Kulcsszó jelenléte minden(alapértelmezett) azt jelenti, hogy az eredményül kapott tábla tartalmazza az összes olyan sort, amely megfelel a lekérdezési feltételeknek, ami duplikált sorok megjelenéséhez vezethet a kapott táblában;

Kulcsszó különbözőúgy tervezték, hogy a táblázatot összhangba hozza a relációelmélet elveivel, amely feltételezi az ismétlődő sorok hiányát;

Szimbólum " * " egy nagyon gyakori helyzetet határoz meg, amikor az eredménykészlet tartalmazza az eredeti lekérdezési tábla összes oszlopát.

□ Egy kifejezésben tól től a lekérdezés forrástábláinak listája van megadva.

□ Egy kifejezésben ahol az eredménysorok kiválasztásának feltételei vagy a forrástáblázatok sorainak összekapcsolásának feltételei vannak meghatározva, hasonlóan a relációs algebra feltételes összekapcsolási műveletéhez. A következő predikátumok használhatók kiválasztási feltételekként:

Összehasonlítások "= ,<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

közöttAésBAN BEN- a predikátum akkor igaz, ha a kifejezés kiértékelt értéke a megadott tartományba esik (a predikátum nemközöttaésBAN BEN igaz, ha az összehasonlított érték nem esik a megadott intervallumba);

ban ben- a predikátum akkor igaz, ha az összehasonlított érték szerepel a megadott értékek halmazában; ebben az esetben az értékkészlet megadható egy egyszerű felsorolással vagy egy beépített segédlekérdezéssel (a nincs benne predikátum akkor igaz, ha az összehasonlított érték nem szerepel a megadott halmazban);

mintÉs nemmint- a predikátumok, amelyek jelentése ellentétes, megkövetelik egy sablon megadását, amellyel az adott értéket összehasonlítjuk; a hasonló predikátum igaz, ha az összehasonlított érték megegyezik a mintával, és hamis egyébként;

ISnulla- egy predikátum, amely valamely attribútum értékének egy meghatározatlan értékkel való egyenlőségét érzékeli:

    <имя атрибута> ISnulla- a true értéket veszi fel, ha a karakterláncban megadott attribútum definiálatlan értékű, ellenkező esetben false;

    <имя атрибута> ISNEMnulla- minden fordítva történik.

létezikÉs nemlétezik A soron belüli segédlekérdezésekben használt.

□ Egy kifejezésben csoportáltal a csoportosító mezők listája be van állítva.

□ Egy kifejezésben amelynek az egyes csoportokra rótt predikátum-feltételek be vannak állítva.

□ Egy kifejezésben rendelésáltal az eredménysorrendező mezők listája van megadva, vagyis a mezők listája, amely meghatározza a rendezési sorrendet az eredményül kapott táblázatban.

Az SQL szabvány meghatározza a NULL érték fogalmát, ami szükségessé tette a háromértékű logika használatát, ahol minden logikai művelet az alábbi igazságtáblázat szerint történik (6. táblázat).

asztal 6 . igazságtáblázat

A ÉS B

TRUE

1.1. Egyszerű lekérdezések

1. kérés

Információk megjelenítése az egyetem tanszékeiről.

Ez a feladat egyetlen tábla információinak kiválasztására és megjelenítésére korlátozódik, és annak minden sora és oszlopa kimenetre vonatkozik:

SELECT * FROM osztály

Egy ilyen lekérdezés végrehajtásának eredménye egy táblázat lesz, amely információkat tartalmaz az egyetem összes tanszékéről:

kód kaf

Név kaf

Nom_telef

Nom_Auditoria

Col_sotr

Ivanov T.M.

Általános matematika

Makhov K. L.

Ross L.T.

Firsov S.S.

Alkalmazott matematika

Lyakhova I.T.

2. kérés

Az egyetemi tanszékek telefonszámainak megjelenítése.

Egy ilyen lekérdezés eredménye csak két oszlopot tartalmazhat: Név_ kafÉs Nom_ telef, tehát magának a lekérdezésnek így kell kinéznie:

SELECT Name_kaf, Nom_telef FROM kafedra

Eredmény táblázat:

Névkaf Nomjelef

Fizika 23-34-24

Általános matematika 23-65-43

Történetek 23-78-72

23-99-77 diagramok

Alkalmazott matematika 23-66-62

A fent kialakított lekérdezésekben a from záradékban megadott táblázat összes sorát meg kellett jeleníteni. Ha a kiválasztáshoz valamilyen feltétel szerint korlátozni kell a kimeneti sorok számát, akkor ezt a where záradék használatával érhetjük el a lekérdezésben. A where záradékban egy vagy több sorkiválasztási feltételt is megadhat.

3. kérés

Információk megjelenítése a grafikai részlegről.

SELECT * FROM kafedra WHERE Name_kaf = "Diagramok"

Az ilyen kérésre adott válasz csak egy sort tartalmaz:

Kod.kaf Name_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

004 diagramok 23-99-77 385 18 Firsov C.C.

4. kérés

Információk megjelenítése a földszinten található egyetemi tanszékekről, figyelembe véve azt a tényt, hogy a földszinti szobák 1-től 99-ig terjednek.

A kérés így fog kinézni:

SELECT * FROM kafedra WHERE Nom_Auditoria 1-99 KÖZÖTT

Lekérdezés eredménye:

KodjcafName_kafNorn lelef Norn Audit oria Coi_sotr Zavkaf

002 Általános matematika 23-65-43 003 22 Makhov K.L.

matematika

Általában az eredményül kapott táblázat sorai valamilyen módon rendezetlen állapotban jelennek meg. Az ilyen anyagok megtekintése és elemzése nem mindig kényelmes. A záradék szerinti sorrend a sorok bármely oszlop szerinti rendezésére szolgál. Tartalmazza az oszlopnevek vesszővel elválasztott listáját, amelyek alapján rendezni szeretné a megjelenített információkat. Ezt a kifejezést mindig az utolsó helyen kell elhelyezni a select utasításban, és ha jelen van, akkor lehetségessé válik a sorok növekvő (növekvő) vagy csökkenő (desc) értékeibe rendezése a megadott oszlopban vagy a megadott oszlopok kombinációjában, függetlenül attól, hogy ezek az oszlopok jelen vannak-e a kapott táblázatban vagy sem.

5. kérés

Információk megjelenítése az egyetem tanszékeiről az oszlopok szerint rendezett formábanNév_ kafnövekvő sorrendben.

A kérés így fog kinézni:

SELECT * FROM kafedra ORDER BY Name_caf ASC

Ennek a kérésnek az eredménye:

Kod_kaf Name_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

004 diagramok 23-E9-77 385 18 FirsovS.S.

003 Történetek 23-78-72 465 16 Ross L.T.

002 Általános ma- 23-65-43 003 22 Makhov K.L.

témákat

005 Jelentkezett 23-66-62 028 24 Lyakhova I.T.

matematika

001 Fizikusok 23-34-24 132 25 Ivanov T.M.

A láthatóság javítása érdekében gyakran hasznos a megjelenített információkat több oszlopba rendezni. Ehhez a rendezési oszlopneveket vesszővel elválasztva kell felsorolni a záradék szerinti sorrendben. Ebben az esetben a kimeneti táblázat a záradék szerinti sorrendben megadott első oszlop szerint rendezett sorokat tartalmaz, az ebben az oszlopban azonos értékű sorokat pedig a második oszlop értékei, és így tovább. balról jobbra.

Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
OSSZA MEG: