3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások



Hasonló dokumentumok
Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

Adatbázis-kezelés. Harmadik előadás

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

B I T M A N B I v: T M A N

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Adatbázisok* tulajdonságai

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adattípusok. Max. 2GByte

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adattípusok. Max. 2GByte

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázis-kezelés, információs-rendszerek

Bevezetés: az SQL-be

Adatbázis kezelés Delphiben. SQL lekérdezések

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SQL parancsok feldolgozása

Relációsémák létrehozása SQL nyelvben

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

BEVEZETÉS Az objektum fogalma

Adatbázisok elmélete 10. előadás

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 9. előadás

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Készítette: Szabóné Nacsa Rozália

Adatbázisok tavaszi félév Vizsgatételsor

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázis-kezelés. Második előadás

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. Előadás:

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis használat I. 5. gyakorlat

4. Előadás Az SQL adatbázisnyelv

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

SQL DDL-1: táblák és megszorítások

Funkcionális függések lekérdezések feldolgozása, kifejezésfák

Lekérdezések az SQL-ben 1.rész

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Lekérdezések az SQL-ben 1.rész

Adatbázis rendszerek SQL nyomkövetés

Adatbázis tartalmának módosítása

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Az SQL adatbázisnyelv: DML

Elemi alkalmazások fejlesztése IV.

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

B I T M A N B I v: T M A N

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

Adatbáziskezelés - SQL. Forrás: dr. Kovács László: Adatbázisok tervezésének és kezelésének módszertana Computerbooks

Lekérdezések az SQL SELECT utasítással

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

Java és web programozás

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatbázis rendszerek Ea: Esqúel. Structured Query Language

Adatbázisok elmélete 12. előadás

Adatbázis Rendszerek II. 8. Gyakorló környezet

Az SQL lekérdeznyelv

Adatbázis rendszerek Gy: MySQL alapok

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Java és web programozás

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Adatbázis rendszerek tervezése

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

B I T M A N B I v: T M A N

Gazdasági folyamatok térbeli elemzése. 5. elıadás

SQL DDL-2 (aktív elemek) triggerek

Adatbázisok webalkalmazásokban

Adatbázis Rendszerek II. 3. Ea: MySQL alapok

Adatbázis rendszerek Ea: Eskúel. Structured Query Language

Adatbázis-kezelés alapjai SQL 1: DDL, DML. v: B IT MAN 92/1B IT MAN

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisok I A relációs algebra

Adatok szűrése, rendezése

7. Előadás tartalma A relációs adatmodell

Tankönyv példák kidolgozása

Átírás:

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 3. Előadás Az SQL adatbázisnyelv (Tartalom) Az SQL története Az SQL felépítése Adattípúsok SQL utasítások 1

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Az SQL története SEQUEL (Structured English QUEry Language): az IBM kísérleti relációs adatbázis-kezelő rendszerének (System R) relációs nyelve. SQL (Structured Query Language): az IBM kereskedelmi adatbázis-kezelő rendszereinek (DB2, SQL/DS) relációs nyelve SQL1: ANSI 1986 SQL2: ISO 1992 SQL3: (rekurzió, triggerek, objektum-relációs modell) 2

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Az SQL felépítése(szintaxis) Kisbetű és nagybetű a nyelv alapszavaiban egyenértékű. Utasítások sorfolytonosan írhatók, lezárás pontosvesszővel. Változó nincs, csak tábla- és oszlopnevekre lehet hivatkozni. Kifejezésben hivatkozás egy tábla adott oszlopára: tábla.oszlop (ha a tábla egyértelmű, akkor elhagyható). Alias név: név AS másodnév (egyes implementációkban AS elhagyható). Szövegkonstans: 'szöveg' 3

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Az SQL felépítése(szintaxis)2 Dátum: DATE '1968-05-12'. Egyes rendszerek az SQL szabványtól eltérő konvenciót alkalmaznak, például 13- NOV-94 (Oracle), 02/15/1994 (dbase). Idő: TIME '15:31:02.5' (óra, perc, másodperc). Stringek konkatenációja: + (xbase), (Oracle). Relációjelek: =, <=, >=,!=, <> Logikai műveletek: AND, OR, NOT. Egy logikai kifejezés értéke ISMERETLEN (UNKNOWN), ha benne NULL érték szerepel 4

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Az adattípusok (rendszerenként eltérők lehetnek): CHAR(n) VARCHAR(n) INTEGER REAL DECIMAL(n[,d]) DATE TIME n hosszúságú karaktersorozat legfeljebb n hosszúságú karaktersorozat egész szám (röviden INT) valós (lebegőpontos) szám, más néven FLOAT n jegyű decimális szám, ebből d tizedesjegy dátum idő 5

Adattípusok a MySQL-ben Numerikus típusok BIT[(M)] TINYINT[(M)] [UNSIGNED] [ZEROFILL] BOOL, BOOLEAN SMALLINT[(M)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] INT[(M)] [UNSIGNED] [ZEROFILL] INTEGER[(M)] [UNSIGNED] [ZEROFILL] BIGINT[(M)] [UNSIGNED] [ZEROFILL] FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] REAL[(M,D)] [UNSIGNED] [ZEROFILL] FLOAT(p) [UNSIGNED] [ZEROFILL] DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL] 6

Dátum és idő reprezentációja DATE DATETIME TIMESTAMP TIME YEAR[(2 4)] Data Type DATETIME DATE Zero Value '0000-00-00 00:00:00' '0000-00-00' TIMESTAMP '0000-00-00 00:00:00' TIME YEAR 0000 '00:00:00' 7

String tipusok CHARACTER SET CHARACTER SET binary ASCII UNICODE BINARY [NATIONAL] CHAR[(M)] [NATIONAL] VARCHAR(M) BINARY(M) VARBINARY(M) TINYBLOB TINYTEXT [CHARACTER SET charset_name] BLOB[(M)] TEXT[(M)] [CHARACTER SET charset_name] MEDIUMBLOB MEDIUMTEXT [CHARACTER SET charset_name] LONGBLOB LONGTEXT [CHARACTER SET charset_name] ENUM('value1','value2',...) [CHARACTER SET charset_name] SET('value1','value2',...) [CHARACTER SET charset_name] 8

Ekvivalens adattipusok más szállítók tipusaival Other Vendor Type BOOL BOOLEAN CHARACTER VARYING(M) FIXED FLOAT4 FLOAT8 INT1 INT2 INT3 INT4 INT8 LONG VARBINARY LONG VARCHAR LONG MIDDLEINT NUMERIC MySQL Type TINYINT TINYINT VARCHAR(M) DECIMAL FLOAT DOUBLE TINYINT SMALLINT MEDIUMINT INT BIGINT MEDIUMBLOB MEDIUMTEXT MEDIUMTEXT MEDIUMINT DECIMAL 9

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda SQL utasítások Az SQL utasításait két fő csoportba szokták sorolni: - DDL (= Data Definition Language): adatstuktúra definiáló utasítások. - DML (= Data Manipulation Language): adatokon műveletet végző utasítások. Jelen anyagban - az RDBMS fő feladatai alapján - az alábbi csoportokban tárgyaljuk az SQL utasításokat: - adatbázisséma definiálása (DDL) - adatok aktualizálása (DML) - lekérdezési lehetőségek (DML) 10

Adatbázissémák definiálása (DDL) Adatbázisséma létrehozására a CREATE DATABASE/ SCHEMA utasítás szolgál. CREATE {DATABASE/SCHEMA} [IF NOT EXISTS] db_name [create_specification]... create_specification: [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name Adatbázisséma átnevezése RENAME {DATABASE SCHEMA} db_name TO new_db_name; 11

Adatbázisséma törlése (eldobása) DROP {DATABASE SCHEMA} [IF EXISTS] db_name; Adatbázisséma módosítása ALTER {DATABASE SCHEMA} [db_name] alter_specification... ALTER {DATABASE SCHEMA} db_name UPGRADE DATA DIRECTORY NAME (5.1 előtti feljavítása) alter_specification: [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name Adatbázisséma megnyitása (aktuálissá tétele): USE db_name; 12

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Relációsémák definiálása (DDL) Relációséma létrehozására a CREATE TABLE utasítás szolgál, amely egyben egy üres táblát is létrehoz a sémához. Az attribútumok definiálása mellett a kulcsok és külső kulcsok megadására is lehetőséget nyújt: CREATE TABLE táblanév ( oszlopnév adattípus [feltétel],......, oszlopnév adattípus [feltétel] [, táblafeltételek] ); 13

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Feltételek (egy adott oszlopra vonatkoznak): PRIMARY KEY: elsődleges kulcs UNIQUE: kulcs (egyértékűség) REFERENCES tábla(oszlop) [ON-feltételek]: külső kulcs Táblafeltételek (az egész táblára vonatkoznak): PRIMARY KEY (oszloplista): elsődleges kulcs UNIQUE (oszloplista): kulcs FOREIGN KEY (oszloplista) REFERENCES tábla(oszloplista) [ON-feltételek]: külső kulcs 14

1. Példa. SZAMLA (szamlaszam, AFA, Datum, klienskod) KLIENS(klienskod, név, Bank, Bankszamla, adoszam) CREATE TABLE Kliens ( klienskod integer PRIMARY KEY, nev CHAR(20), Bank CHAR(20), Bankszamla CHAR(30), adoszam CHAR(30) ); CREATE TABLE Szamla ( szamlaszam integer PRIMARY KEY, AFA integer, datum Date, Osszeg Decimal(10,2), klienskod integer REFERENCES Kliens(klienskod) ); 15

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Relációséma törlése: DROP TABLE táblanév; Hatására a séma és a hozzá tartozó adattábla törlődik. Relációséma módosítása: ALTER TABLE táblanév [ADD (újelem,..., újelem)] [MODIFY (módosítás,..., módosítás)] [DROP (oszlop,..., oszlop)]; 16

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda -újelem: egy "oszlopnév adattípus [feltétel]", vagy egy "táblafeltétel", mint a CREATE TABLE utasításban. - módosítás: "oszlopnév adattípus [feltétel]". Oszlopok törlését nem minden rendszer engedi meg. Példák: ALTER Table Termek Add (gyartoev integer); ALTER Table Termek DROP Column gyartoev; 17

Új sor felvétele táblába Adattábla aktualizálása (DML) INSERT INTO táblanév [(oszloplista)] VALUES (értéklista); Ha oszloplista nem szerepel, akkor valamennyi oszlop értéket kap a CREATE TABLE-ben megadott sorrendben. Egyébként, az oszlopnév-listában nem szereplő mezők NULL értéket kapnak. Példák: INSERT INTO Szamla(AFA, szamlaszam, klienskod) VALUES (0.19, 12345, 6783); INSERT INTO Szamla VALUES (12345, 0.19, 2008-04-21, 6783); 18

Sor(ok) módosítása UPDATE táblanév SET oszlop = kifejezés,..., oszlop = kifejezés [ WHERE feltétel ]; Az értékadás minden olyan soron végrehajtódik, amely eleget tesz a WHERE feltételnek. Ha WHERE feltétel nem szerepel, akkor az értékadás az összes sorra megtörténik. Példák: UPDATE Kliens SET lakcím = "Szeged, Rózsa u. 5." WHERE klienskod = 6783; UPDATE Kliens SET Bank = Reiffeisen" WHERE Bank = Banca Agricola"; 19

Sor(ok) törlése DELETE FROM táblanév [ WHERE feltétel ]; Hatására azok a sorok törlődnek, amelyek eleget tesznek a WHERE feltételnek. Ha a WHERE feltételt elhagyjuk, akkor az összes sor törlődik (de a séma megmarad). Példa: DELETE FROM Kliens WHERE klienskod>200 AND klienskod<400; DELETE FROM Kliens;!!!!! mindent töröl 20

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Lekérdezések(SELECT) Egy vagy több adattáblából egy eredménytáblát állít elő A SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista projekció FROM táblanévlista Descartes-szorzat [WHERE feltétel] szelekció [GROUP BY oszloplista] csoportosítás [HAVING feltétel] csoport-feltétel [ORDER BY oszloplista]; rendezés 21

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Egyszerű lekérdezések SQL-ben Szelekció: f (R) SELECT * FROM R WHERE f; Példa: Film(cim, ev, hossz, szines, studionev, producerazon); Szinesz(nev, cim, nem, szuletesnap); SELECT * FROM Film WHERE hossz>100 AND szines; 22

Vetítés(Projekció): A, A i1 i2,, A ik ( R) SELECT A A A FROM R; Példa:,,, k i i i 1 2 SELECT studionev, cim FROM Film; Alias (AS) használata - másodnév SELECT cim AS nev, hossz*0,016667 AS hosszorakban FROM Film WHERE studionev= Disney ; 23

Konstansok használata a SELECT záradékban SELECT cim, hossz*0,016667 AS hosszorakban FROM Film WHERE studionev= Disney ; Karakterláncok összehasonlítása: s LIKE p, ahol s karakterlánc és p egy minta Helyettesítő karakterek (standard SQL): %, _ Helyettesítő karakterek (Access): *,? SELECT * SELECT * FROM Film FROM Film WHERE cim LIKE csill* WHERE cim LIKE *lága 24

SELECT * SELECT * FROM Film FROM Film WHERE cim LIKE *or* WHERE cim LIKE Wayne???world Speciális karakterek használata a mintában (egyszeres idézőjel) keressük a következő kombinációt: s SELECT * FROM Film WHERE cim LIKE * s* idézőjelet megduplázzuk az egyszeres s LIKE x%%x% ESCAPE x Az x% egy % karakternek fog megfelelni. A minta olyan karaktersornak felel meg, amelyik % al kezdődik és %-al végződik 25

Null értékre vonatkozó szabályok: 1. Amikor egy aritmetikai műveletben, mint x vagy +, legalább az egyik tag NULL, akkor az eredmény is NULL 2. Amikor egy NULL értéket hasonlítunk össze bármely más értékkel, beleértve a NULL-t is, egy összehasonlítási operátor segítségével, mint = vagy >, az eredmény ISMERETLEN. Logikai műveletek a háromértékű logikában Szabály: könnyen megjegyezhető, ha az IGAZ=1, HAMIS=0, ISMERETLEN=1/2. 1. Két logikai értékre alkalmazott AND eredménye a két érték minimuma. 2. Két logikai értékre alkalmazott OR eredménye a két érték maximuma. 3. A v logikai érték tagadásának értéke 1-v 26

x y x AND y x OR y NOT x IGAZ IGAZ IGAZ IGAZ HAMIS IGAZ ISMERETLEN ISMERETLEN IGAZ HAMIS IGAZ HAMIS HAMIS IGAZ HAMIS ISMERETLEN IGAZ ISMERETLEN IGAZ ISMERETLEN ISMERETLEN ISMERETLEN ISMERETLEN ISMERETLEN ISMERETLEN ISMERETLEN HAMIS HAMIS ISMERETLEN ISMERETLEN HAMIS IGAZ HAMIS IGAZ IGAZ HAMIS ISMERETLEN HAMIS ISMERETLEN IGAZ HAMIS HAMIS HAMIS HAMIS IGAZ 27

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda SELECT cím FROM Film WHERE cím LIKE Halálos (7 db. alulhúzás) (Halálos fegyver v. Halálos játszma) Szűrőfeltételek: WHERE <oszlop> BETWEEN <kifejezés_1> AND <kifejezés_2 > WHERE <oszlop> IN (<kifejezés_1>, <kifejezés_2> [,...]) 28

Példa: SELECT Név FROM Alkalmazottak WHERE Fizetés BETWEEN 300 AND 500; Legyen az Egyetem nevű adatbázis a következő relációsémákkal: Szak (SzakKod, SzakNév, Nyelv); Csoport (CsopKod, Evfolyam, SzakKod); Diák(Törzsszám, Név, SzemSzám, Cím, SzületésiDatum, CsopKod, Átlag); SELECT Név FROM Diák WHERE CsopKod IN ( 531, 532, 631 ); 29

Több relációra vonatkozó lekérdezések Descartes szorzat: R1 x R2 SELECT * FROM R1, R2 Théta-összekapcsolás: R1 θ R2 SELECT * FROM R1, R2 WHERE θ; Természetes összekapcsolás: R1 R2 = SELECT * FROM R1, R2 WHERE 1 1 2 1 1 2 2 2 1 p 2 R. A R. A AND R. A R. A AND AND R. A R. A p 30

Példa: SELECT Diak.Név, Csoport.CsopKod, Csoport.Evfolyam, SzakKod FROM Diák, Csoport WHERE Diák.CsopKod = Csoport.CsopKod; SELECT Diak.Név, Csoport.CsopKod, Evfolyam, SzakKod FROM Diák INNER JOIN Csoport ON Diák.CsopKod = Csoport.CsopKod; SELECT Név FROM Diák, Csoport WHERE Diák.CsopKod = Csoport.CsopKod AND Evfolyam = 3; 31

Halmazműveletek (egyesítés, különbség és metszet) : (SELECT Név, UtcaSzám FROM Szállítók WHERE Helység = Kolozsvár ) UNION (SELECT Név, UtcaSzám FROM Vevők WHERE Helység = Kolozsvár ); (SELECT SzemSzám FROM Alkalmazottak) EXCEPT (SELECT SzemSzám FROM Managerek); (SELECT Név FROM Tanárok) INTERSECT (SELECT Név FROM Diákok); 32

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Ismétlődő sorok (DISTINCT ) A SELECT kulcsszó után a DISTINCT szó segítségével kérhetjük az azonos sorok megszüntetését. Példa: Az Egyetem adatbázis esetén keressük azon csoportokat, amelyekben vannak diákok, akik átlaga kisebb, mint 7. SELECT DISTINCT CsopKod FROM Diákok WHERE Átlag < 7; 33

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda Összefoglaló kérdések 1. Az SQL szintaxisa 2. Adattípusok az SQL-ben 3. SQL utasítások típusai 4. Relációs sémák definiálása, törlése, módosítása 5. Oszlopra és sorra vonatkozó feltételek 6. Adattáblák aktualizálása 7. Karakterláncok összehasonlítása 8. Szorzat és összekapcsolás az SQL ben 9. Egyesítés, metszet és különbség a SQL ben 34