Matematikai függvény | Leírás |
---|---|
ABS(X) | Az X szám abszolút értékét adja eredményül |
ACOS (X) | Az X arc koszinuszát adja eredményül |
ASIN(X) | Az X szám arcszinuszát adja eredményül |
ATAN(X) | X arctangensét adja eredményül |
COS(X) | Az X szám koszinuszát adja eredményül |
EXP(X) | X kitevőjét adja eredményül |
JEL(X) | -1-et ad vissza, ha X<0,0, если Х=0, +1 , если Х>0 |
LN(X) | Visszatér természetes logaritmus számok X |
MOD(X,Y) | A maradékot adja vissza, ha X osztva Y-val |
CEIL (X) | Az X-nél nagyobb vagy egyenlő legkisebb egész számot adja vissza |
KEREK (X;n) | Az X számot n tizedesjegyű számra kerekíti |
SIN(X) | X szinuszát adja vissza |
SQRT(X) | Egy X szám négyzetgyökét adja eredményül |
TAN(X) | X tangensét adja vissza |
EMELET (X) | Az X-nél kisebb vagy egyenlő legnagyobb egész számot adja vissza |
NAPLÓ(a,X) | X logaritmusát adja vissza A bázisra |
SINH(X) | Az X hiperbolikus szinuszát adja eredményül |
COSH(X) | Az X hiperbolikus koszinuszát adja eredményül |
TANH(X) | Az X hiperbolikus tangensét adja eredményül |
TRANC(X;n) | Az X számot n számjegyű számmá csonkolja a tizedesvessző után |
TELJESÍTMÉNY(A,X) | Az A értékét X hatványára emelve adja vissza |
A beépített funkciók készlete az egyes gyártók DBMS-einek verziójától és a különböző gyártók DBMS-eitől függően változhat. Például az SQLBase DBMS-ben a Century Inc. Van egy @ATAN2(X,Y) függvény, amely visszaadja az Y/X arctangensét, de nincs SIGN(X) függvény.
Az aritmetikai kifejezésekre olyan adatok beszerzéséhez van szükség, amelyek nem közvetlenül az adatbázistáblák oszlopaiban vannak tárolva, de amelyek értékeit a felhasználó megköveteli. Tegyük fel, hogy szüksége van egy listára az alkalmazottakról, amely tartalmazza az egyes alkalmazottak fizetését, beleértve a bónuszokat és büntetéseket.
KIVÁLASZTÁS ENAME, SAL, COMM, FINE, SAL + COMM - FINE ALKALMAZOTTAI RENDELÉSBŐL DEPNO ÁLTAL;
A SAL + COMM - FINE aritmetikai kifejezés új oszlopként kerül kiadásra az eredménytáblázatban, amely a lekérdezés eredményeként kerül kiszámításra. Az ilyen oszlopokat származtatott (számított) attribútumoknak vagy mezőknek is nevezik.
String feldolgozási funkciók
Az SQL a funkciók széles skáláját kínálja a karakterlánc-adatok kezeléséhez (karakterlánc-összefűzés, CHR, LENGTH, INSTR és mások). A karakterláncadatok feldolgozásához szükséges fő funkciók listája a 8.3. táblázatban található.
Funkció | Leírás |
---|---|
CHR(N) | Az N decimális kód ASCII-kód karakterét adja vissza |
ASCII(S) | Egy karakterlánc első karakterének decimális ASCII-kódját adja vissza |
INSTR(S2.S1.poz[,N] | Visszaadja az S1 karakterlánc pozícióját az S2 karakterláncban, amely nagyobb vagy egyenlő, mint a pos.N – az előfordulások száma |
HOSSZ(OK) | Egy karakterlánc hosszát adja vissza |
ALSÓ(K) | A karakterlánc összes karakterét nagybetűre cseréli |
INITCAP(S) | A karakterlánc minden szava első karakterét nagybetűre állítja, a többi szót pedig nagybetűre |
SUBSTR(S,poz,[,len]) | Kiválaszt egy len hosszúságú részkarakterláncot az S karakterláncban, a poz. pozíciótól kezdve |
FELSŐ(EK) | A karakterláncban lévő nagybetűket nagybetűkké alakítja |
LPAD(S,N[,A]) | Visszaadja az S karakterláncot balra kitöltve, legfeljebb N karakterrel. Karakter – alapértelmezett kitöltő – szóköz |
Rpad(S,N[,A]) | Az S karakterláncot adja vissza, jobbra kitömve az A karakterekkel az N karakterek számához. Karakter – alapértelmezett kitöltő – szóköz |
LTRIM(S,) | A balra csonkolt S karakterláncot adja vissza. A karakterek mindaddig törlődnek, amíg az eltávolítandó karakter szerepel a karakterláncban - S1 minta (alapértelmezett - szóköz) |
RTRIM(S,) | A jobbra csonkolt S karakterláncot adja vissza. A karakterek mindaddig törlődnek, amíg az eltávolítandó karakter benne van a karakterláncban - S1 minta (alapértelmezett - szóköz |
FORDÍTÁS(S,S1,S2) | Az S karakterláncot adja vissza úgy, hogy az S1 karakterlánc minden előfordulása S2 karakterláncra cserélve. Ha S1<>S2 , akkor a nem egyező karakterek kikerülnek a kapott karakterláncból |
CSERE (S,S1,[,S2]) | Az S karakterláncot adja vissza, amelynél az S1 karakterlánc minden előfordulását az S2 részkarakterlánc helyettesíti. Ha az S2 nincs megadva, akkor az S1 részkarakterlánc minden előfordulása el lesz távolítva a kapott karakterláncból |
NVL(X,Y) | Ha X NULL , akkor Y karakterláncot, számot vagy dátumot ad vissza, az Y eredeti típusától függően |
Ugyanazon függvények neve eltérhet a különböző DBMS-ekben. Például az SQLBase DBMS-ben az Oracle DBMS függvény SUBSTR(S, pos, [, len]) neve @SUBSTRING(S, pos, len) . Az SQLBase DBMS olyan funkciókat tartalmaz, amelyek nem érhetők el az Oracle DBMS-ben (lásd.
A Transact-SQL nyelvi függvények lehetnek összesítettek vagy skalárisak. Az ilyen típusú funkciókat ebben a cikkben tárgyaljuk.
Összesített függvények
Az aggregált függvények számításokat hajtanak végre az oszlopértékek csoportján, és a számítások eredményeként mindig egyetlen értéket adnak vissza. A Transact-SQL számos általános összesítő funkciót támogat:
AVGKiszámítja az oszlopban található adatok számtani átlagát. A számításhoz használt értékeknek numerikusnak kell lenniük.
MIN és MAXMeghatározza egy oszlopban található összes adatérték maximális és minimális értékét. Az értékek lehetnek numerikusak, karakterláncok vagy időbeliek (dátum/idő).
ÖSSZEGKiszámítja egy oszlopban lévő értékek teljes összegét. A számításhoz használt értékeknek numerikusnak kell lenniük.
SZÁMOLMegszámolja az oszlopban lévő nem null értékek számát. A count(*) függvény az egyetlen összesítő függvény, amely nem végez számításokat oszlopokon. Ez a függvény a sorok számát adja vissza (függetlenül attól, hogy az egyes oszlopok tartalmaznak-e null értékeket).
COUNT_BIGHasonló a count függvényhez, azzal a különbséggel, hogy BIGINT adatértéket ad vissza.
A szabályos összesítő függvények SELECT utasításban való használatáról egy későbbi cikkben lesz szó.
Skaláris függvények
A Transact-SQL skalárfüggvényeket skaláris kifejezések létrehozására használják. (A skaláris függvény egyetlen értékre vagy értéklistára, míg az összesített függvény több sorban lévő értékcsoportra végez számításokat.) A skaláris függvények a következő kategóriákra bonthatók:
numerikus függvények;
dátumfüggvények;
karakterlánc-függvények;
rendszerfunkciók;
metaadat függvények.
Az ilyen típusú funkciókat a következő szakaszok tárgyalják.
Numerikus függvények
A Transact-SQL numerikus függvények numerikus értékek módosítására szolgáló matematikai függvények. A numerikus függvények listája és rövid leírása az alábbi táblázatban található:
Funkció | Szintaxis | Leírás | Használati példa |
---|---|---|---|
ABS | ABS(n) | Egy n numerikus kifejezés abszolút értékét adja vissza (vagyis a negatív értékeket pozitívként adja vissza). |
SELECT ABS(-5.320) -- 5.320 SELECT ABS(8.90) -- 8.90 |
ACOS, ASIN, ATAN, ATN2 | ACOS(n), ASIN(n), ATAN(n), ATN2(n, m) | Inverz trigonometrikus függvények, amelyek az n érték arccosine, arcsine, arctangensét számítják ki (ATN2 esetén az n/m arctangens kerül kiszámításra). Az n, m bemeneti értékek és az eredmény FLOAT adattípusú. |
|
COS, SIN, TAN, COT | COS(n), SIN(n), TAN(n), COT(n) | Trigonometrikus függvények, amelyek kiszámítják az n érték koszinuszát, szinuszát, tangensét, kotangensét. Az eredmény FLOAT adattípusú. |
|
FOKOK, RADIÁNOK | FOK(n), RADIÁNSZ(n) | A DEGREES függvény a radiánokat fokokká, RADIANS-t, illetve fordítva konvertálja. |
SELECT DEGREES(PI() / 4) -- 45 SELECT COS(RADIANS(60.0))) -- 0.5 értéket ad vissza |
MENNYEZET | MENNYEZET (n) | Egy számot magasabb egész értékre kerekít. |
MENNYEZET KIVÁLASZTÁSA(-5.320) -- Visszatér -5 MENNYEZET KIVÁLASZTÁSA(8.90) -- 9. |
KEREK | ROUND(n, p, [t]) | n értékét a legközelebbi p-re kerekíti. Ha p pozitív szám, akkor n tört része kerekítésre kerül, ha pedig negatív, akkor az egész rész. Az opcionális t argumentum használatakor az n számot nem kerekítjük, hanem csonkoljuk (vagyis lefelé kerekítjük). |
SELECT ROUND(5.3208, 3) -- 5.3210 SELECT ROUND(125.384, -1) -- 130.000 SELECT ROUND(125.384, -1, 1) -- 120.000 értéket ad vissza |
PADLÓ | EMELET(n) | Lefelé kerekít a legalacsonyabb egész értékre. |
EMELET KIVÁLASZTÁSA(5,88) -- 5. eredmény |
EXP | EXP(n) | Kiszámítja e n értékét. |
|
NAPLÓ, LOG10 | LOG(n), LOG10(n) | LOG(n) - kiszámítja az n szám természetes logaritmusát (azaz e bázisát), LOG10(n) - kiszámítja az n szám decimális (10-es) logaritmusát. |
|
P.I. | PI() | π értékét adja vissza (3,1415). |
|
ERŐ | TELJESÍTMÉNY(x, y) | Kiszámítja x y értékét. |
|
RAND | RAND() | Tetszőleges számú FLOAT típusút ad vissza a 0 és 1 közötti értéktartományban. |
|
ROWCOUNT_BIG | ROWCOUNT_BIG() | A rendszer által legutóbb végrehajtott Transact-SQL utasítás által feldolgozott táblázatsorok számát adja vissza. A visszatérési érték BIGINT típusú. |
|
JEL | JEL(n) | Az n előjelét adja vissza számként: +1, ha pozitív, -1, ha negatív. |
|
SQRT, SQUARE | SQRT(n), NÉGYZET(n) | SQRT(n) - az n szám négyzetgyökét számítja ki, SQUARE(n) - az n argumentum négyzetét adja vissza. |
Dátum funkciók
A dátumfüggvények kiértékelik a kifejezés megfelelő dátum- vagy időpontrészeit, vagy időintervallumértéket adnak vissza. A Transact-SQL által támogatott dátumfüggvényeket és azok rövid leírását az alábbi táblázat tartalmazza:
Funkció | Szintaxis | Leírás | Használati példa |
---|---|---|---|
GETDATE | GETDATE() | Az aktuális rendszerdátumot és -időt adja vissza. |
KIVÁLASZTÁS GETDATE() |
DATEPART | DATEPART (tétel, dátum) | Az item paraméterben megadott dátumrészt egész számként adja vissza. |
1. (január) SELECT DATEPART(hónap, "2012. 01. 01.") -- 4. visszatérés (szerda) SELECT DATEPART (hétköznap, "2012. 01. 01.") |
DATENAME | DATENAME (tétel, dátum) | Az item paraméterben megadott dátumrészt karakterláncként adja vissza. |
Visszatér: január SELECT DATENAME(hónap, "2012. 01. 01.") -- szerda SELECT DATENAME (hétköznap, "2012. 01. 02.") |
DATEDIFF | DATEDIFF (elem, dat1, dat2) | Kiszámítja a különbséget két dátumrész, dat1 és dat2 között, és egy egész számot ad vissza az item argumentumban megadott egységekben. |
19-et ad vissza (19 éves intervallum a dátumok között) SELECT DATEDIFF(év, "01/01/1990", "01/01/2010") -- 7305-öt ad vissza (7305 napos intervallum a dátumok között) SELECT DATEDIFF(nap, "01/01") /1990", "01/01" .2010") |
DATEADD | DATEADD (tétel, n, dátum) | Hozzáadja az item argumentumban megadott egységek n-edik számát a megadott dátumhoz. (n negatív is lehet.) |
3 napot ad az aktuális dátumhoz SELECT DATEADD(nap, 3, GETDATE()) |
String függvények
A karakterlánc-függvények manipulálják az oszlopértékeket, amelyek jellemzően karakteres adattípusok. A Transact-SQL támogatott karakterlánc-függvényeit és azok rövid leírását az alábbi táblázat tartalmazza:
Funkció | Szintaxis | Leírás | Használati példa |
---|---|---|---|
ASCII, UNICODE | ASCII(karakter), UNICODE(karakter) | A megadott karaktert a megfelelő ASCII-kód egész számmá alakítja. |
SELECT ASCII("W") -- 87 SELECT UNICODE("u") -- 1102 |
CHAR, NCHAR | CHAR(int), NCHAR(int) | ASCII kódot (vagy Unicode-ot, ha NCHAR) a megfelelő karakterré alakít át. |
SELECT CHAR(87) -- "W" SELECT NCHAR(1102) -- "yu" |
CHARINDEX | CHARINDEX (str1, str2) | Az str1 részkarakterlánc előfordulásának kezdőpozícióját adja vissza az str2 karakterláncban. Ha az str2 karakterlánc nem tartalmazza az str1 részkarakterláncot, akkor a rendszer 0 értéket ad vissza |
5 SELECT CHARINDEX értéket ad vissza ("morf", "polimorfizmus") |
KÜLÖNBSÉG | KÜLÖNBSÉG (str1, str2) | Egy 0 és 4 közötti egész számot ad vissza, amely a két str1 és str2 karakterlánc SOUNDEX értéke közötti különbség. A SOUNDEX metódus egy számot ad vissza, amely a húr hangját jellemzi. Ezzel a módszerrel hasonló hangzású húrokat azonosíthat. Csak ASCII karakterekkel működik. |
2 SELECT DIFFERENCE ("elírás", "megmondó") értéket ad vissza |
BAL JOBB | BAL (szt, hossz), JOBB (szt, hossz) | Visszaadja az str string első karaktereinek számát, amelyet a hossz paraméter a BALRA, és az str string utolsó karaktereit a JOBBRA függvényhez. |
DECLARE @str nvarchar(30) = "Szinkronizálás"; -- A "Sync" értéket adja vissza SELECT LEFT(@str, 4) -- "Zation"-t adja vissza SELECT RIGHT(@ str, 5) |
LEN | LEN(str) | Az argumentumban megadott str string karaktereinek számát (nem a bájtok számát) adja vissza, beleértve a záró szóközöket. |
|
ALSÓ FELSŐ | LOWER(str), UPPER(str) | A LOWER függvény az str1 összes nagybetűjét kisbetűvé alakítja. A kisbetűket és a karakterláncban szereplő egyéb karaktereket ez nem érinti. Az UPPER függvény az str karakterlánc összes kisbetűjét nagybetűvé alakítja. |
DECLARE @str nvarchar(30) = "Szinkronizálás"; -- "SYNCHRONIZATION" SELECT UPPER(@str) - "synch" értéket adja vissza SELECT LOWER(@str) |
LTRIM, RTRIM | LTRIM(str), RTRIM(str) | Az LTRIM függvény eltávolítja a kezdő szóközöket a str stringből, az RTRIM pedig eltávolítja a szóközöket a karakterlánc végén. |
|
QUOTENAME | QUOTENAME (karakterlánc) | Unicode kódolású karakterláncot ad vissza határolókkal, amelyek a bemeneti karakterláncot érvényes elválasztott azonosítóvá alakítják. |
DECLARE @str nvarchar(30) = "Szinkronizálás"; -- „[Szinkronizálás]” visszaadása SELECT QUOTENAME(@str) |
PATINDEX | PATINDEX (%p%, kif) | A p minta első előfordulásának kezdőpozícióját adja vissza az adott kifejezésben, vagy nullát, ha a minta nem található. |
4 SELECT PATINDEX("%chro%", "Szinkronizálás") |
CSERE | CSERE (str1, str2, str3) | Az str2 részkarakterlánc minden előfordulását lecseréli az str1 karakterláncban az str3 részkarakterláncra. |
A "Desynchronization" értéket adja vissza SELECT REPLACE("Szinkronizálás", "Szinkronizálás", "Deszinkronizálás") |
MEGISMÉTELNI | REPLIKÁLÁS (str, i) | Megismétli a str i karakterláncot. |
"aBaBaBaBaB" SELECT REPLICATE("aB", 5) eredményt ad vissza |
FORDÍTOTT | VISSZA (str) | A str karakterláncot fordított sorrendben nyomtatja ki. |
A "yaitsazinorkhniS" értéket adja vissza SELECT REVERSE("Szinkronizálás") |
SOUNDEX | SOUNDEX (str) | Egy négy karakterből álló soundex kódot ad vissza, amely annak meghatározására szolgál, hogy két karakterlánc hasonló-e. Csak ASCII karakterekkel működik. |
|
HELY | TÉR (hossz) | A hossz paraméterben megadott hosszúságú szóközök karakterláncát adja vissza. Hasonló a REPLICATE(" ", hossza). |
|
STR | STR (f[, len[, d]]) | A megadott f lebegőpontos kifejezést karakterláncsá alakítja, ahol len a karakterlánc hossza, beleértve a tizedesvesszőt, előjelet, számjegyeket és szóközöket (alapértelmezés szerint 10), d pedig a visszaadandó tizedesjegyek száma. |
„3.14” SELECT STR (3.1415, 4, 2) értéket ad vissza |
DOLOG | STUFF (str1, a, hossza, str2) | Eltávolítja a hosszúságú karaktereket az str1 karakterláncból, az a pozíciótól kezdve, és beszúrja az str2 karakterláncot a helyükre. |
Megjegyzés egy könyvben SELECT STUFF("Jegyzetfüzet", 5, 0," in a ") -- Kézikönyv SELECT STUFF("Jegyzetfüzet", 1, 4, "Kézi") |
SUBSTRING | SUBSTRING (str1, a, hosszúság) | Az a pozíciótól kezdődő str karakterláncból kivon egy hosszúságú részkarakterláncot. |
Rendszerfunkciók
A Transact-SQL rendszerfunkciók kiterjedt információkat nyújtanak az adatbázis-objektumokról. A legtöbb rendszerfunkció belső numerikus azonosítót (ID) használ, amely minden adatbázis-objektumhoz hozzá van rendelve annak létrehozásakor. Ezzel az azonosítóval a rendszer egyedileg tud azonosítani minden adatbázis-objektumot.
Az alábbi táblázat felsorol néhány legfontosabb rendszerfunkciót azok rövid leírásával együtt:
Funkció | Szintaxis | Leírás | Használati példa |
---|---|---|---|
ÖNTVÉNY | CAST (AS típusú [(hossz)] | A w kifejezést a megadott adattípusra konvertálja (ha lehetséges). A w argumentum bármilyen érvényes kifejezés lehet. |
3 SELECT CAST (3,1258 AS INT) eredményt ad vissza |
EGYESÜL | EGYESÜLÉS (a1, a2) | Az első kifejezésértéket adja vissza az a1, a2, ... kifejezések listájából, amely nem null. |
|
COL_LENGTH | COL_LENGTH (obj, col) | Az adatbázis-objektum (tábla vagy nézet) obj oszlop oszlopának hosszát adja vissza. |
4-et ad vissza SELECT COL_LENGTH("Alkalmazott", "Id") |
ALAKÍTANI | KONVERT (típus[(hossz)], w) | Egyenértékű a CAST függvénnyel, de az argumentumok eltérőek. Bármilyen adattípussal használható. |
|
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Az aktuális dátumot és időt adja vissza. |
|
JELENLEGI FELHASZNÁLÓ | JELENLEGI FELHASZNÁLÓ | Az aktuális felhasználó nevét adja vissza. |
|
ADATHOSSZ | DATALENGTH(z) | A z kifejezés által elfoglalt bájtok számát adja eredményül. |
Ez a lekérdezés visszaadja az egyes mezők hosszát SELECT DATALENGTH(FirstName) FROM Employee |
GETANSINUL | GETANSINULL("dbnév") | 1-et ad vissza, ha a null értékek használata a dbname adatbázisban megfelel az ANSI SQL szabványnak. |
|
NULLA | ISNULL (kifejezés, érték) | Az expr értékét adja vissza, ha nem NULL; ellenkező esetben értéket ad vissza. |
|
ISNUMERIC | ISNUMERIC (kif) | Meghatározza, hogy az expr kifejezés érvényes numerikus típus-e. |
|
NEWID | ÚJID() | Létrehoz egy egyedi azonosítószám-azonosítót, amely egy 16 bájtos bináris karakterláncból áll, amely az UNIQUEIDENTIFIER adattípus értékeinek tárolására szolgál. |
|
NEWSEQUENTIALID | NEWSEQUENTIALID() | Létrehoz egy GUID-t, amely nagyobb, mint bármely más, a funkció által korábban létrehozott GUID-azonosító a megadott számítógépen. (Ez a függvény csak alapértelmezett értékeként használható egy oszlophoz.) |
|
NULLIF | NULLIF (expr1, expr2) | Null értékkel tér vissza, ha az expr1 és a expr2 értéke megegyezik. |
A lekérdezés NULL értéket ad vissza egy projekthez -- amelynek száma = "p1" SELECT NULLIF(szám, "p1") FROM projekt |
SZERVERTULAJDON | SERVERPROPERTY (tulajdonnév) | Információkat ad vissza az adatbázis-kiszolgáló tulajdonságairól. |
|
SYSTEM_USER | SYSTEM_USER | Az aktuális felhasználó azonosítóját adja vissza. |
|
FELHASZNÁLÓI AZONOSÍTÓ | FELHASZNÁLÓI AZONOSÍTÓ() | A felhasználói azonosító felhasználónevet adja vissza. Ha nincs megadva felhasználó, akkor az aktuális felhasználói azonosító kerül visszaadásra. |
|
FELHASZNÁLÓNÉV | FELHASZNÁLÓNÉV() | A megadott azonosítójú felhasználónevet adja vissza. Ha nincs megadva azonosító, akkor a rendszer az aktuális felhasználó nevét adja vissza. |
Metaadat funkciók
Alapvetően a metaadatfüggvények egy megadott adatbázisról és adatbázis-objektumokról adnak vissza információkat. Az alábbi táblázat összefoglal néhány legfontosabb metaadat-funkciót azok rövid leírásával együtt:
Funkció | Szintaxis | Leírás | Használati példa |
---|---|---|---|
COL_NAME | COL_NAME (tab_id, col_id) | A tab_id azonosítójú tábla col_id megadott azonosítójú oszlopának nevét adja vissza. |
A "LastName" oszlop nevét adja vissza SELECT COL_NAME (OBJECT_ID("Employee"), 3) |
OSZLOPTULAJDONSÁG | OSZLOPTULAJDONSÁG (azonosító, oszlop, tulajdonság) | A megadott oszlop adatait adja vissza. |
A PRECISION tulajdonság értékét adja vissza az Employee tábla Id oszlopához SELECT COLUMNPROPERTY (OBJECT_ID("Employee"), "Id", "precision") |
ADATBÁZISTULAJDONSÁG | ADATBÁZISTULAJDON (adatbázis, tulajdonság) | Az adatbázis tulajdonság tulajdonság értékét adja vissza. |
Az IsNullConcat tulajdonság értékét adja vissza -- a SampleDb adatbázishoz SELECT DATABASEPROPERTY ("SampleDb", "IsNullConcat") |
DB_ID | DB_ID() | A db_name adatbázis-azonosítót adja vissza. Ha nincs megadva adatbázisnév, akkor az aktuális adatbázis azonosítója kerül visszaadásra. |
|
DB_NAME | DB_NAME() | A db_id értékkel rendelkező adatbázis nevét adja vissza. Ha nincs megadva azonosító, akkor a rendszer az aktuális adatbázis nevét adja vissza. |
|
INDEX_COL | INDEX_COL (tábla, i, nem) | A táblatábla indexelt oszlopának nevét adja vissza. Az oszlopot az i indexazonosító és a no oszloppozíció jelzi az indexben. |
|
INDEXPROPERTY | INDEXPROPERTY (obj_id, index_name, property) | Egy elnevezett index vagy statisztika tulajdonságait adja vissza a megadott táblaazonosító számhoz, az index vagy statisztika nevét és a tulajdonság nevét. |
|
OBJECT_NAME | OBJECT_NAME (obj_id) | Az obj_id azonosítóval rendelkező adatbázis-objektum nevét adja vissza. |
SELECT OBJECT_NAME(245575913); |
OBJECT_ID | OBJECT_ID (obj_name) | Az adatbázis obj_name objektumazonosítóját adja vissza. |
Visszatér: 245575913 – Alkalmazotti táblázat azonosítója SELECT OBJECT_ID("Alkalmazott") |
TÁRGY TULAJDONSÁG | OBJECTPROPERTY (obj_id, property) | Információkat ad vissza az objektumokról az aktuális adatbázisból. |
Ebben a cikkben megtekintheti az SQL nyelv függvénytípusait. A függvények lehetnek összesített vagy skalárisak. Kezdjük...
SZÁMOL()
SZÁMOL()- egy függvény, amely a tábla rekordjainak (sorainak) számát adja vissza. Egy oszlopot meghatározó függvény írása egy adott oszlop rekordjainak számát adja vissza, a NULL rekordok nélkül. Függvény szintaxis:
COUNT(oszlop_neve);
Ha egy függvényt „*” maszkkal ír, akkor a táblázatban szereplő összes rekord számát adja vissza. Szintaxis:
SZÁMOL(*);
Nézzünk példákat. A következő egyetemi táblázat található:
ID | Egyetem neve | Diákok | Karok | professzorok | Elhelyezkedés | Webhely |
1 | Permi Állami Nemzeti Kutató Egyetem | 12400 | 12 | 1229 | perm | psu.ru |
2 | Szentpétervári Állami Egyetem | 21300 | 24 | 13126 | Szentpétervár | spbu.ru |
3 | Novoszibirszki Állami Egyetem | 7200 | 13 | 1527 | Novoszibirszk | nsu.ru |
4 | Moszkvai Állami Egyetem | 35100 | 39 | 14358 | Moszkva | msu.ru |
5 | Közgazdasági Felsőiskola | 20335 | 12 | 1615 | Moszkva | hse.ru |
6 | Uráli Szövetségi Egyetem | 57000 | 19 | 5640 | Jekatyerinburg | urfu.ru |
7 | Nemzeti Kutató Nukleáris Egyetem | 8600 | 10 | 936 | Moszkva | mephi.ru |
1. példa Nyomtassa ki a táblarekordok számát a COUNT függvény segítségével:
SZÁM KIVÁLASZTÁSA (*)
Egyetemektől; // nyomtat 7
2. példa: Keresse meg a moszkvai egyetemek számát a COUNT függvény segítségével:
SELECT COUNT(*) FROM egyetemek WHERE Hely = "Moszkva"; // nyomtat 3
AVG()
AVG()- egy oszlop átlagértékét visszaadó függvény. Ez a funkció csak numerikus oszlopokra vonatkozik. Szintaxis:
AVG(oszlop_neve);
Nézzünk egy példát. Vegyük az egyetemek táblázatát. Példa. Az AVG függvény segítségével keresse meg az összes egyetem hallgatóinak (hallgatók) átlagos számát:
SELECT AVG(Students) FROM egyetemek; // kinyomtatja a 23133-at
MIN()
MIN()- egy oszlop minimális értékét visszaadó függvény. A függvény a következő szintaxissal rendelkezik:
MIN(oszlop_neve);
Nézzünk egy példát. Vegyük az egyetemek táblázatát. Példa. A MIN függvény segítségével keresse meg a Professzorok oszlop minimális értékét:
SELECT MIN (professzorok) FROM egyetemek; // kinyomtatja a 936-ot
MAX()
MAX()- egy függvény, amely a táblázat oszlopának maximális értékét adja vissza. A függvény a következő szintaxissal rendelkezik:
MAX(oszlop_neve);
Nézzünk egy példát. Vegyük az egyetemek táblázatát. Példa. A MAX függvény segítségével keresse meg a Diákok oszlop maximális értékét:
SELECT MAX(Students) FROM egyetemekről; // 57000-et fog kiadni
ÖSSZEG()
ÖSSZEG()- egy függvény, amely egy táblázat oszlopának értékeinek összegét adja vissza. Csak numerikus oszlopokhoz használatos. Függvény szintaxis:
SZUM(kifejezés);
Paraméter MINDEN- az alapértelmezett beállítás. Az összes sor összege kiszámításra kerül. Paraméter megadásakor KÜLÖNBÖZŐ- csak az egyedi értékek számítanak.
Nézzünk példákat. Vegyük az egyetemek táblázatát. 1. példa: A SUM függvény segítségével keresse meg a táblázatban az összes egyetem hallgatóinak számát:
SELECT SUM(Students) FROM egyetemek; // kinyomtatja a 161935-öt
2. példa: A SUM függvény segítségével számolja meg a Karok oszlop egyedi értékeit:
SELECT SUM(DISTINCT Faculties) FROM egyetemek; // a 117-et fogja megjeleníteni (a Karok oszlopban 2 azonos rekord van, 1-es és 5-ös azonosító alatt. Az 5-ös azonosító alatti oszlop értéke nincs összeadva.)
KEREK()
KEREK()- funkció decimális számok kerekítésére. Csak numerikus oszlopokkal vagy tetszőleges valós számokkal működik. Függvény szintaxis:
ROUND(kifejezés, hossz);
kifejezés- az oszlop vagy oszlopok neve, valamint egy valós szám. hossz- jelzi a szám kerekítési pontosságát.
Nézzünk egy példát. Vegyük a bolygók táblázatát:
ID | Bolygónév | Sugár | Napszezon | Nyitási Év | HavingRings | Nyitó |
1 | Mars | 3396 | 687.58 | 1659 | Nem | Christiaan Huygens |
2 | Szaturnusz | 60268 | 10759.22 | - | Igen | - |
3 | Neptun | 24764 | 60190.91 | 1846 | Igen | John Couch Adams |
4 | Higany | 2439 | 115.88 | 1631 | Nem | Miklós Kopernikusz |
5 | Vénusz | 6051 | 243.56 | 1610 | Nem | Galileo Galilei |
Példa. A ROUND funkcióval kerekítse egy tizedesjegyre a SunSeason oszlopot:
KORDULÓ KIVÁLASZTÁSA (Napszezon, 1) Bolygókról;
UCASE()
UCASE()- egy függvény, amely egy oszlop vagy oszlopok értékeit adja vissza nagybetűkkel. Az MS SQL Server DBMS-ben az UCASE() analógja az UPPER függvény, ugyanazzal a szintaxissal:
UCASE(oszlop_neve)
Nézzünk egy példát. Vegyük a bolygók táblázatunkat. Példa. Nyomtassa ki a gyűrűvel nem rendelkező bolygók nevét nagybetűvel a UCASE funkció segítségével:
SELECT UCASE(PlanetName) FROM Planets WHERE HavingRings = "Nem";
LCASE()
LCASE()- egy függvény, amely egy oszlop vagy oszlopok értékeit adja vissza kisbetűkkel. Az MS SQL Server DBMS-ben az SQL LCASE() operátor analógja a LOWER függvény, ugyanazzal a szintaxissal:
LCASE(oszlop_neve);
Nézzünk egy példát. Vegyük a bolygók táblázatunkat. Példa. Az LCASE funkció használatával nyomtassa ki kisbetűkkel a gyűrűs bolygók nevét:
SELECT LCASE(PlanetName) FROM Planets WHERE HavingRings = "Igen";
LEN()
LEN()- egy függvény, amely a rekord mezőben lévő érték hosszát adja vissza. A függvény kizárja a számlálásból a záró szóközöket. Szintaxis:
LEN(oszlop_neve);
Nézzünk egy példát. Vegyük a bolygók táblázatunkat. Példa. Nyomtassa ki a bolygó felfedezőjét (Opener) és az általa felfedezett bolygó nevének hosszát a LEN függvény segítségével:
SELECT Opener, LEN(PlanetName) FROM Bolygók;
KÖZÉPSŐ()
KÖZÉPSŐ()- egy függvény, amely meghatározott számú karaktert jelenít meg a táblázat szövegmezőjében. Függvény szintaxis:
MID(oszlop_neve,kezdet [,hossz]);
Paraméter Rajt megadja a kezdő karakter pozícióját. Paraméter hossz beállítja a kiírandó karakterek számát a start paraméterben megadott pozíciótól kezdve.
Nézzünk egy példát. Vegyük a régi egyetemi táblázatunkat. Példa. Nyomtassa ki a város nevének (Location) első 3 karakterét a MID funkcióval:
SELECT MID(Hely, 1, 3) FROM egyetemek;
MOST()
MOST()- egy függvény, amely visszaadja a rendszeridőt és a dátumot. Függvény szintaxis:
Nézzünk egy példát. Vegyük a régi egyetemi táblázatunkat. Példa. Nézze meg, hány hallgató tanul jelenleg az egyes egyetemeken. a MOST funkció használatával:
SELECT UniversityName, Students, NOW() AS CurDate FROM Universities;
Az anyag megszilárdításához saját maga hajtson végre egy példát az egyes funkciókra. Ha bármilyen kérdése van, írja meg a megjegyzésekben, és biztosan válaszolok rájuk.
Az SQL-lekérdezések megtanulásának ezen szakaszának lépései annak bemutatására szolgálnak, hogy az SQL nemcsak összetett kijelöléseket és adatokat tud rendezni, hanem matematikai függvények eredményeit is kiszámítja, szövegtranszformációt hajt végre, rekordokat csoportosít stb. Pontosabban nem az SQL képes mindezt megtenni, hanem azok, amelyek támogatják. Az SQL a szabványaival csak ugyanezen DBMS-ek követelményeit fogalmazza meg.
15. lépés: SUM, AVG, MIN, MAX, COUNT… függvények
Ez a lépés megmutatja, hogyan kell egyszerű függvényeket használni az SQL-ben, például összeget, minimális és maximális értékeket, átlagot stb. Kezdjük mindjárt egy példával az összes alkalmazott átlagos szolgálati idejének levezetésére.
AVG(D_STAFF.S_TAPASZTALAT) KIVÁLASZTÁS [AZ ALKALMAZOTTAK ÁTLAGOS TAPASZTALATA] A D_STAFF-TÓL
SQL függvény AVG.
Hasonlóképpen kiszámíthatja a minimális és maximális értékeket (MIN, MAX), a teljes összeget (SUM) stb. Azt tanácsolom, hogy próbálja ki ezt az edzésprogram segítségével. Érdemes megpróbálni további kritériumokat meghatározni a függvény végső értékének meghatározásában részt vevő rekordok kiválasztásához a WHERE záradék használatával.
A fent felsorolt függvények a teljes lekérdezés eredményét használják fel értékük meghatározásához. Az ilyen függvényeket ún összesített . Ezenkívül számos olyan függvény létezik, amelyek argumentumai nem a kérésben meghatározott oszlop összes értéke, hanem az eredmény minden egyes sorának minden egyes értéke. Ilyen függvény például a LEN szövegmező hosszának kiszámítására szolgáló SQL függvény:
KIVÁLASZTJA S_NAME, LEN(D_STAFF.S_NAME) AS [LENGTH] FROM D_STAFF
Használható SQL függvények szuperpozíciója az alábbiak szerint, és számítsa ki az S_NAME mező maximális hosszértékét.
MAX(LEN(D_STAFF.S_NAME)) MINT [MAXIMUM LENGTH] KIVÁLASZTÁS D_STAFF-BÓL
SQL függvény MAX.
Nos, összefoglalva, mindent együtt.
SELECT SUM(D_STAFF.S_PERIENCE) AS [SUM], AVG(D_STAFF.S_PERIENCE) AS [AVERAGE], MIN(D_STAFF.S_PERIENCE) AS [MINIMUM], MAX(D_STAFF.S_PERIENCE) AS [MAXIMUM], COUNT(*) AS [RECORDOK SZÁMA], MAX(LEN(D_STAFF.S_NAME)) AS [MAXIMUM LENGTH] FROM D_STAFF
Példa az összesített SQL-függvények használatára.
Figyelje meg a COUNT függvény argumentumát. Azért adtam meg (*) argumentumként, mert szeretném megkapni a rekordok teljes számát. Ha például megadja a COUNT(S_NAME) értéket, az eredmény a nem üres S_NAME értékek száma lesz (S_NAME NEM NULL). Lehetséges lenne COUNT(DISTINCT S_NAME) írása és az egyedi S_NAME értékek számának lekérése, de az MS Access sajnos nem támogatja ezt a lehetőséget. Példánkban a COUNT(S_NAME) és COUNT(*) pontosan ugyanazt az eredményt adja.
16. lépés: Szöveg konvertálása
A szöveges értékeket gyakran másképp töltik ki a szoftverfelhasználók: ki írja a teljes nevet. nagybetűvel, ki nem; Vannak, akik mindent nagybetűvel írnak. Sok jelentési űrlap egységes megközelítést igényel, és nem csak a jelentési űrlapok. A probléma megoldására az SQL-nek két funkciója van: UCASE és LCASE. Az alábbiakban látható egy példa egy kérésre és annak feldolgozásának eredményére:
UCASE(D_STAFF.S_NAME) AS , LCASE(D_STAFF.S_NAME) AS KIVÁLASZTÁSA D_STAFF-BÓL
UCASE és LCASE SQL függvények.
17. lépés: SQL és a karakterláncokkal való munka
Van egy csodálatos MID funkció is, amely segít megoldani azt a problémát, hogy egy karakterlánc egy részét a szövegmező teljes értékéből vonja ki. A legjobb megjegyzés itt is egy példa lenne - egy példa a felhasználói profilok nevének „zaklatására”.
SELECT UCASE(MID(P_NAME,3,5)) FROM D_PROFILE
Az UCASE és MID SQL függvények szuperpozíciója.
A profilnév értékekből „kivágtunk” 5-5 karaktert, a 3.-tól kezdve, és egy csomó ismétlődő „szemét” lett a vége. Annak érdekében, hogy csak egyedi értékeket hagyjunk, a DISTINCT kulcsszót használjuk.
SELECT DISTINCT UCASE(MID(P_NAME,3,5)) A D_PROFILBÓL
Egyedi összesített függvényértékek kiválasztása.
Néha a LEN függvényt tartalmazó kifejezéseket kell használnia a MID függvény argumentumaiként. A következő példában már az utolsó 5 karaktert megjelenítjük a profilnevekben.
UCASE(MID(P_NAME,LEN(P_NAME)-4,5)) KIVÁLASZTÁSA D_PROFILBÓL
A LEN SQL függvény használata.
18. lépés: SQL függvények használata a rekordkiválasztási feltételekben. HAVING operátor
A funkciók megértése után szinte azonnal felmerül a kérdés: hogyan használhatók fel a rekordok kiválasztásának kritériumaiban? Néhány funkció, nevezetesen azok, amelyek nem összesített függvények, meglehetősen könnyen használhatók. Itt van például azoknak az alkalmazottaknak a listája, akiknek teljes neve. több mint 25 karakter.
SELECT S_NAME FROM D_STAFF WHERE LEN(D_STAFF.S_NAME) > 25
A nem összesítő LEN függvény használata SQL lekérdezési feltételekben.
Nos, ha például meg kell jelenítenie az összes olyan pozíció azonosítóját, amelyet egynél több alkalmazott tölt be a vállalatnál, akkor ez a megközelítés nem fog működni. Úgy értem, hogy a következő lekérdezésnek talán nincs értelme, de strukturált lekérdezés szempontjából helytelen. Ez annak a ténynek köszönhető, hogy az ilyen SQL-lekérdezések összesített függvényekkel történő helyes feldolgozásához nem lesz elegendő egy lineáris áthaladás az alkalmazotti rekordokon.
SELECT S_POSITION FROM D_STAFF WHERE COUNT(S_POSITION)>1
Ilyen esetekre került be az SQL-be a HAVING kulcsszó, ami segít a pozíciókkal és alkalmazottakkal kapcsolatos probléma megoldásában.
S_POSITION KIVÁLASZTÁSA D_STAFF CSOPORTBÓL S_POSITION SZERINT, HA COUNT(S_POSITION)>1
Összesítő függvények használata SQL lekérdezési feltételekben.
19. lépés: Adatok csoportosítása az SQL lekérdezés eredményeiben a GROUP BY operátor használatával
A GROUP BY operátor szükséges az összesített függvények értékeinek csoportosításához a hozzájuk tartozó mezők értékei alapján. Akkor van rá szükség, ha az összesített függvényértéket szeretnénk használni a rekordkiválasztási feltételekben (előző lépés). Akkor is szükség van rá, ha egy összesítő függvény értékét szeretnénk belefoglalni a lekérdezés eredményébe. De a legegyszerűbb formájában a csoportosítás egyenértékű egy oszlop egyedi értékeinek kiemelésével. Nézzünk egy példakérést.
S_POSITION KIVÁLASZTÁSA D_STAFFBÓL
Ez a két lehetőség pedig csak egyedi S_POSITION értékek megjelenítését teszi lehetővé.
KIVÁLASZTÁS S_POSITION A D_STAFF CSOPORTBÓL S_POSITION SZERINT
KIVÁLASZTÁSA D_STAFF-TÓL KÜLÖNBÖZŐ S_POSITION
Nos, most térjünk vissza a függvényértékek csoportosításához a hozzájuk tartozó mezők értékei alapján. Minden felhasználói profilnál megjelenítjük a hozzá tartozó rekordok számát a D_STAFF_PROFILE táblában.
SELECT PROFILE_ID AS , COUNT(PROFILE_ID) AS [RECORDOK SZÁMA] FROM D_STAFF_PROFILE GROUP BY PROFILE_ID
SQL összesítő függvény használata csoportosítással együtt.
A GROUP BY operátor azt is lehetővé teszi, hogy a lekérdezés eredményét egynél több mező szerint csoportosítsa, vesszővel elválasztva. Remélem, hogy a fentiek után az utolsó lekérdezés eredményéhez nincs szükség további megjegyzésekre.
SELECT S.S_POSITION AS , S.S_NAME AS [MUNKATÁRS], COUNT(SP.STAFF_ID) MINT [REkordok SZÁMA A D_STAFF_PROFILE TÁBLÁZATBAN] FROM D_STAFF S, D_STAFF_PROFILE SP WHERE S.XD_IID=SP.STAFF_ID CSOPORTBY POSITION, S.S. S_NAME
SQL lekérdezés eredménysorainak csoportosítása több mező szerint.
Alapvető SQL-parancsok, amelyeket minden programozónak tudnia kell
Az SQL vagy Structured Query Language egy nyelv, amelyet a relációs adatbázisrendszerben (RDBMS) lévő adatok kezelésére használnak. Ez a cikk az általánosan használt SQL-parancsokkal foglalkozik, amelyeket minden programozónak ismernie kell. Ez az anyag ideális azok számára, akik állásinterjú előtt szeretnék felfrissíteni SQL-ismereteiket. Ehhez nézze meg a cikkben szereplő példákat, és ne feledje, hogy párban tanulmányozta az adatbázisokat.
Vegye figyelembe, hogy egyes adatbázisrendszerek pontosvesszőt igényelnek minden utasítás végén. A pontosvessző a szabványos mutató az SQL-ben minden utasítás végére. A példák MySQL-t használnak, ezért pontosvessző szükséges.
Adatbázis felállítása a példákhoz
Hozzon létre egy adatbázist a csapatok működésének bemutatására. A munkához két fájlt kell letöltenie: DLL.sql és InsertStatements.sql. Ezután nyisson meg egy terminált, és jelentkezzen be a MySQL konzolba a következő paranccsal (a cikk feltételezi, hogy a MySQL már telepítve van a rendszeren):
Mysql -u root -p
Ezután adja meg jelszavát.
Futtassa a következő parancsot. Nevezzük az adatbázist egyetemnek:
ADATBÁZIS LÉTREHOZÁSA egyetem; USE egyetem; FORRÁS Előfordulhat, hogy korlátozásokat kell létrehoznia a táblázat egyes oszlopaiban. Táblázat létrehozásakor a következő korlátozásokat állíthatja be: Egynél több elsődleges kulcsot is megadhat. Ebben az esetben egy összetett elsődleges kulcsot kap. Hozzon létre egy "oktató" táblázatot: TÁBLÁZAT LÉTREHOZÁSA oktató (ID CHAR(5), név VARCHAR(20) NOT NULL, részleg_neve VARCHAR(20), fizetés SZÁMSZÁM(8,2), ELSŐDLEGES KULCS (ID), IDEGEN KULCS (részleg_neve) REFERENCIÁK osztály(osztálynév)); A következő paranccsal különféle információkat (értéktípust, kulcsot vagy nem) tekinthet meg a táblázat oszlopairól: LEÍRÁS Amikor egy táblázat minden oszlopához adatot ad hozzá, nem kell oszlopneveket megadnia. INSERT INTO A SELECT egy adott tábla adatainak lekérésére szolgál: KIVÁLASZTÁS A következő parancs képes megjeleníteni a táblázat összes adatát: VÁLASSZON A táblázat oszlopai ismétlődő adatokat tartalmazhatnak. A SELECT DISTINCT használatával csak nem ismétlődő adatokat kérhet le. SELECT DISTINCT Használhatja a WHERE kulcsszót a SELECT-ben a feltételek megadásához a lekérdezésben: KIVÁLASZTÁS A kérelemben a következő feltételek adhatók meg: Próbálja ki a következő parancsokat. Ügyeljen a WHERE részben megadott feltételekre: SELECT * FROM tanfolyam WHERE dept_name=’Comp. Sci.”; SELECT * FROM kurzus WHERE kredit>3; SELECT * FROM course WHERE dept_name="Comp. Sci." ÉS kredit>3; A GROUP BY operátort gyakran használják olyan összesítő függvényekkel, mint a COUNT, MAX, MIN, SUM és AVG a kimeneti értékek csoportosítására. KIVÁLASZTÁS Jelentsük meg az egyes karok képzéseinek számát: SELECT COUNT(kurzusazonosító), részleg_neve FROM kurzus GROUP BY részleg_neve; A HAVING kulcsszót hozzáadtuk az SQL-hez, mert a WHERE nem használható összesítő függvényekkel. KIVÁLASZTÁS Mutassuk meg azoknak a karoknak a listáját, amelyek egynél több kurzussal rendelkeznek: SELECT COUNT(kurzusazonosító), részlegnév FROM kurzus GROUP BY részleg_neve HAVING COUNT(kurzusazonosító)>1; Az ORDER BY a lekérdezési eredmények csökkenő vagy növekvő sorrendbe rendezésére szolgál. A ORDER BY növekvő sorrendbe rendeződik, hacsak nincs megadva ASC vagy DESC. KIVÁLASZTÁS Mutassuk meg a kurzusok listáját a kreditek növekvő és csökkenő sorrendjében: SELECT * FROM kurzusból ORDER BY kreditek; SELECT * FROM tanfolyam ORDER BY kreditek DESC; A BETWEEN az adatértékek kiválasztására szolgál egy adott tartományból. Számszerű és szöveges értékek, valamint dátumok használhatók. KIVÁLASZTÁS Mutassuk meg azoknak az oktatóknak a listáját, akiknek fizetése meghaladja az 50 000-et, de kevesebb, mint 100 000: SELECT * FROM oktatótól WHERE fizetés 50000 ÉS 100000 KÖZÖTT; A LIKE operátor a WHERE mezőben egy hasonló érték keresési mintájának megadására szolgál. Két ingyenes operátort használ a LIKE: Mutassuk meg azoknak a kurzusoknak a listáját, amelyeknek a neve tartalmazza a „to”-t, valamint azon kurzusok listáját, amelyek neve „CS-”-vel kezdődik: SELECT * FROM kurzus WHERE cím LIKE ‘%to%’; SELECT * FROM tanfolyam WHERE kurzusazonosító LIKE "CS-___"; Az IN használatával több értéket is megadhat a WHERE záradékhoz: KIVÁLASZTÁS Mutassuk meg a Comp szakok hallgatóinak listáját. Sci., Physics and Elec. angol: SELECT * FROM diák WHERE tanszéknév IN ('Comp. Sci.', 'Physics', 'Elec. Eng.'); A JOIN két vagy több tábla összekapcsolására szolgál közös attribútumok használatával. Az alábbi képen az SQL-be való csatlakozás különböző módjai láthatók. Jegyezze meg a különbséget a bal oldali külső csatlakozás és a jobb oldali külső csatlakozás között: KIVÁLASZTÁS Megjelenítjük az összes kurzus listáját és a karokkal kapcsolatos releváns információkat: SELECT * FROM tanfolyam JOIN osztály ON tanfolyam.részleg_neve=részleg.részleg_neve; Megjelenítjük az összes szükséges kurzus listáját és a velük kapcsolatos részleteket: SELECT prereq.course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTTER JOIN course ON prereq.course_id=course.course_id; Megjelenítjük az összes kurzus listáját, függetlenül attól, hogy kötelezőek-e vagy sem: SELECT kurzus.kurzusazonosító, cím, részleg_neve, kreditek, prereq_id FROM prereq RIGHT OUTTER JOIN kurzus ON prereq.course_id=course.course_id; A View egy virtuális SQL-tábla, amely egy kifejezés végrehajtása eredményeként jön létre. Sorokat és oszlopokat tartalmaz, és nagyon hasonlít egy normál SQL-táblához. A View mindig az adatbázis legfrissebb információit mutatja. Hozzunk létre egy nézetet, amely 3 kredites kurzusokból áll: Ezek a függvények a kérdéses adatokhoz kapcsolódó összesített eredmény elérésére szolgálnak. A következő gyakran használt összesítő függvények: A beágyazott allekérdezések olyan SQL-lekérdezések, amelyek egy másik lekérdezésbe ágyazott SELECT , FROM és WHERE záradékot tartalmaznak. Nézzük meg azokat a kurzusokat, amelyeket 2009 őszén és 2010 tavaszán tartottak: SELECT DISTINCT kurzusazonosító FROM szekció WHERE félév = 'Ősz' AND év= 2009 AND kurzusazonosító IN (SELECT kurzusazonosító FROM szekció WHERE félév = 'tavasz' ÉS év= 2010);Parancsok az adatbázisokkal való munkavégzéshez
1. Az elérhető adatbázisok megtekintése
ADATBÁZISOK MUTATÁSA; 2. Hozzon létre egy új adatbázist
ADATBÁZIS LÉTREHOZÁSA; 3. A használni kívánt adatbázis kiválasztása
HASZNÁLAT 4. Importáljon SQL parancsokat .sql fájlból
FORRÁS 5. Törölje az adatbázist
DROP ADATBÁZIS Asztalokkal való munka
6. Tekintse meg az adatbázisban elérhető táblákat
ASZTALOK MUTATÁSA;
7. Hozzon létre egy új táblázatot
TÁBLÁZAT LÉTREHOZÁSA Integritási korlátozások a CREATE TABLE használatakor
Példa
8. Táblázat információk
9. Adatok hozzáadása a táblázathoz
INSERT INTO 10. Táblázat adatok frissítése
FRISSÍTÉS 11. Minden adat eltávolítása a táblából
TÖRLÉS FOL 12. Táblázat törlése
DROP TABLE Parancsok a lekérdezések létrehozásához
13. KIVÁLASZTÁS
14. SELECT DISTINCT
15. HOL
Példa
16. GROUP BY
Példa
17. HAVE
Példa
18. MEGRENDELÉS
Példa
19. KÖZÖTT
Példa
20. LIKE
KIVÁLASZTÁS Példa
21. IN
Példa
22. CSATLAKOZÁS
1. példa
2. példa
3. példa
23. Megtekintés
Teremtés
NÉZET LÉTREHOZÁSA Eltávolítás
DROP NÉZET Példa
24. Aggregált függvények
25. Beágyazott segédlekérdezések
Példa