MINUS ===> yukaridaki formatin aynisi
INTERSECT yerine MINUS konulur
1. kosuldaki dogrulardan (verilerden) 2. kosuldaki dogrulari cikarir (cikarim kumesi)
TABLO OLUSTURMA
1) CREATE TABLE tablo adi
(alan adi data bicimi (uzunlugu) (NOT NULL),
alan adi data bicimi (uzunlugu) (NOT NULL),
---------------- )
ORNEK:
CREATE TABLE memur
(sic no number not null,
adi char(12),
gorevi char (

,
bas tarih date)
FORMAT 2
CREATE TABLE tablo adi (yeni alan1,yeni alan2,....)
AS SELECT alan adi1,alan adi2,....
FROM tablo adi eski
WHERE ........
ORNEK:
CREATE TABLE mudurler
AS SELECT adi ,soyadi,yasi
FROM memurlar
WHERE unvani= "MUDUR"
Belirtilen alanlari yeni tabloya kopye ederek yazdir
ALAN EKLEME
Daha onceden yaratilmis olan tabloya ekleme yapar.
ALTER TABLE tablo adi
ADD (yeni alan alan bicimi (uz) not null)
ORNEK:
ALTER TABLE memur
ADD (baba adi1 char(12))
TABLODA ALAN GOSTERME
ALTER TABLE tablo adi
MODIFY (alan adi alan bicim (uzunl) (not null))
ALTER TABLE memur
MODIFY (babaadi char(20))
DROP TABLE tablo adi
Databaseden tabloyu siler ,bosaltir
1-veriler islenemeyecek sekilde silinir
2-Database icin kullanilan alan sisteme terkedilir
3-Herhangi bir mesaj vermeden silmeye baslar
4-Yeniden kurtarma imkaniniz yoktur(veriyi)
5-Ancak tabloyu yaratan kullanici drop edebilir
TABLO ADI DEGISTIRME
-----------------------
RENAME tablo adi TO yeni tablo adi
1- Tabloyu yaratan adini degistirebilir
2-Kullanilan tablonun adi degistirilemez
3-Sistemde topladigi alan ve konumu degismez
COMMENT deyimi
----------------------
Tabloya veya tablo alanina aciklama metni ekler
COMMENT ON TABLE tablo adi IS "metin"
COMMENT ON COLUMN tabloadi.atandi IS "metin"
DATA DICTIONARY
--------------------
veri sozlugu
TAB: tablolari
CATALOG: erisilebilecek tablolari
SYSCATOLOG: erisilebilecek tablolari+ sistem tablolari
COL : kullanicinin yarattigi alanlari
COLUMNS : kullanicinin erisebilecegi alanlari
SYSCOLUMS : kullanicinin erisebilecegi alanlari + sistem sozlugu
DTAB : goruntu tablolarini goruntuler
VERI ISLEME
-----------------
"INSERT"
1) veri tablosuna yeni satirlar ekler.
INSERT INTO Tabloadi (adi,soyadi,yasi)
VALUES ("ALI","GULMEZ",99)
2) Bir tablodan baska tabloya verilerin aktarilmasinda kullanilir.
INSERT INTO tablo adi1(alan1,alan2,....)
SELECT alan1,alan2,alan3,....
FROM tablo adi2
WHERE sart
INSERT INTO calisan (adi,soyadi,yasi)
SELECT adi,soyadi,yasi
FROM memur
WHERE yasi>20
UPTADE
--------------
Alani goster
1) UPTADE tablo adi
SET alanadi = ifade
WHERE (kosul dogru ise)
2) UPTADE tablo adi2) UPTADE tablo adi
SET alan1=ifade1,
alan2=ifade2,
...........
WHERE (Şart dogru ise)
3) UPTADE Table
SET alan adi=(SELECT alan* FROM ...)
WHERE (Şart)
ORNEK:
UPTADE calisanlar
SET (maas,kod) =(SELECT maas,kod
FROM isciler
WHERE calisan adi=isci adi)
DELETE
-------------
DELETE FROM tablo adi
WHERE kosul
ORNEK:
Bolum 20 deki tum isci kayitlarini sil
DELETE FROM isci
WHERE bolum =20
GORUNTU TABLOLARI VIEW
-------------------------------
Yaratma
CREATE VIEW gor-tablo-adi
AS gecerli select dogru
====> WITH CHECK OPTION
ORNEK:
CREATE VIEW isci 10
AS SELECT adi,num
FROM isci
WHERE bolum=10
Option kullanildiginda veri uzerinde degisiklik yapildiginda
istenirse kontrol edilir.
DROP VIEW goruntu adi
---------------------------------
Onceden varolan goruntu tablosunu yokeder
***************************************************************************
NICIN INDEXLEME YAPILIR?
----------------------------
1- Belirtilen alanlara hizli erisimi saglar
2- Cift degerin ayni alana girilmesini saglar
(birincil degiskenler icin onemli)
* CREATE (UNIQUE) INDEX index-adi
ON tablo adi (alan adi)
* DROP INDEX index adi.
varolan indexi siler
ORNEK:
CREATE INDEX isci -index
ON isci (isci no)
* 50 satirdan az olan tabloyu indexlemeyiz
* Tablo alanlarinin sayisinin yarisindan fazla sayida indexleme alani
kullanamayiz
SAVE KOMUTU
----------------
SQL komutlarini isletim sistemine kaydeder.Mevcut buffer (tampon)
bellegi kaydeder.
SAVE dosya adi CRE(ate) REP(lace) APPend
SQL> SELECT * FROM isci
WHERE maas >500,000
SQL> SAVE isci prog
Daha sonra ayni bilgi
SQL> isci prog yazilarak run edilebilir.
ISLETIM SISTEMI EDITORUNU KULLANMAK
------------------------------------------
DEF EDITOR =editor adi
EDIT =dosya adi
SQL > DEF - editor =v:
SQL > Edit ornek
TTITLE KOMUTU
---------------------
TTITLE ve BTITLE komutlari sayfa basi ve dipine yazilarak
metinleri belirler.
TTITLE options 'metin' OF/ ON
BTTITLE options 'metin' OF/ ON
ORNEK:
TTITLE 'SAYFA BASIDIR' ON
Optionlar
----------
COL (1/n) belirtilen n sayida alan atlar (bulundugu satirda)
LINE n'nci satira basar
SKIP n: n satir atladiktan sonra basar
LEFT
RIGHT ====> metnin saga / sola dayali veya ortali
CENTER olacagini belirler.
BREAK KOMUTU
-----------------
Tekrarlanan degerlerin bitiminde kirilmayi saglar
BREAK ON alan adi Options
Optionlar
---------
SKIP n : n satir atlar kirilmada
PAGE : sayfa atlar
ORNEK:
BREAK ON bolum no SKIP 2
SELECT bolum no, adi ,maasi
FROM isciler
ORDER BY bolum no
Coklu kirilma
--------------
BREAK ON alan adi options ON alan adi options
CLEAR BREAK
Compute komutu
----------------
* COMPUTE fonksiyonlar OF alan adi ON alan adi
* CLEAR COMPUTES
ORNEK:
BREAK ON bolum no SKIP 2
COMPUTE SUM AVG OF maas ON bolum no
SELECT bolum no,adi,maas
FROM isciler
WHERE DEPT no IN (10,20)
ORDER BY DEPT NO
ayni bolumlerin maas toplamlari ve ortalamalarini alir.
Diger Fonksiyonlar
-------------------
AVG ortalama
COU(nt) sayisi
MAX max
MIN min
NUM satir sayisi
STD standart sapma
SUM toplam
VAR variance
ACCEPT
----------
Keybordda olusan degiskeni SQL degerlerinde kullanir
ACCEPT degisken CHAR/ NUMBER NOPROMPT /PROMPT
SQL >SET VERIFY OFF metin (HIDE)
SQL > ACCEPT VI PROMPT "Tablo adini giriniz:"
Tablo adini giriniz: brmr05
SQL > SELECT * FROM &VI;
SELECT * FROM brmr05
SPOOL
---------
SPOOL file adi : Spool dosyasi acar
SPOOL file adi APPEND :Var olan dosyaya ekleme yapar.
SPOOL OFF/ON :Cikis dosyasi acar/kapar
SPOOL OUT:Sistem yazicisina cikislari gonderir.
SPOOL :Spool edilen aktif dosyayi gonderir.
KITAP2 =OZET=
======================
ANY-ALL ISLEVLERI
SELECT olan - adi
FROM tablo adi
WHERE alacak operator ANY
(alt sorgulu coklu deger)
Ornek:
SELECT maas,adi,isci-no,bolum
FROM isci tablosu
WHERE maas>ANY
(SELECT maas FROM EMP
WHERE bolum =30)
ORDER BY MAAS
*Karsilastirma islemi=disinda ise (>,<,>=,<=) ANY kullanilir
*NOT IN islevi--> =ALL ile ayni anlamdadir.
Ayni olanlarin Secimi
SELECT adi,soyadi,meslegi
FROM ISCILER,MEMURLAR
WHERE isciler,meslegi=memurlar,meslegi
*Ayni meslege sahip olanlari isciler ve memurlar tablosundan secer
Kartezyen Secim
SELECT adi,soyadi,meslegi,yasi
FROM isciler,memurlar
WHERE yasi=29
*Yasi 29 olan iscileri ve memurlari listeler
SELECT bolum,adi
FROM isci,departmant
WHERE isci-num(+)=memur-num
Tum departmanlarin bolumlerini ve calisanlarini secer
issiz bolumleri de secer
SELECT brmr05.tel,brmr04.b1,brmr04.tel TEL2
from brmr05,brmr04
where brmr05.b1=brmr04.b1
*Farkli tablolardan ayni isimli olanlari kullanir
ESITSIZLIKLER
l= ,<,>=,>,>= BETWEEN
SELECT adi,maas
FROM isci
WHERE maas BETWEEN 1,000,000 AND 2,000,000
UNION-INTER SECTION -MINUS
UNION
SELECT alan adlari
FROM tablo adi
WHERE sartlar dogru ise
UNION
SELECT alan adlari
FROM tablo adi
WHERE sartlar dogru ise
verilen sartlar saptandiginda olusan verileri bir araya getirir
INTERSECT
SELECT alan adlari
FROM tablo adi
WHERE kosul
INTERSECT
SELECT alan adi
FROM tablo adi
WHERE kosul
===>Her iki secimde olusan ortak verileri goruntuler (arakesiti) alir
MINUS ===> yukaridaki formatin aynisi
INTERSECT yerine MINUS konulur
1. kosuldaki dogrulardan (verilerden) 2. kosuldaki dogrulari cikarir (cikarim kumesi)
TABLO OLUSTURMA
1) CREATE TABLE tablo adi
(alan adi data bicimi (uzunlugu) (NOT NULL),
alan adi data bicimi (uzunlugu) (NOT NULL),
---------------- )
ORNEK:
CREATE TABLE memur
(sic no number not null,
adi char(12),
gorevi char (

,
bas tarih date)
FORMAT 2
CREATE TABLE tablo adi (yeni alan1,yeni alan2,....)
AS SELECT alan adi1,alan adi2,....
FROM tablo adi eski
WHERE ........
ORNEK:
CREATE TABLE mudurler
AS SELECT adi ,soyadi,yasi
FROM memurlar
WHERE unvani= "MUDUR"
Belirtilen alanlari yeni tabloya kopye ederek yazdir
ALAN EKLEME
Daha onceden yaratilmis olan tabloya ekleme yapar.
ALTER TABLE tablo adi
ADD (yeni alan alan bicimi (uz) not null)
ORNEK:
ALTER TABLE memur
ADD (baba adi1 char(12))
TABLODA ALAN GOSTERME
ALTER TABLE tablo adi
MODIFY (alan adi alan bicim (uzunl) (not null))
ALTER TABLE memur
MODIFY (babaadi char(20))
DROP TABLE tablo adi
Databaseden tabloyu siler ,bosaltir
1-veriler islenemeyecek sekilde silinir
2-Database icin kullanilan alan sisteme terkedilir
3-Herhangi bir mesaj vermeden silmeye baslar
4-Yeniden kurtarma imkaniniz yoktur(veriyi)
5-Ancak tabloyu yaratan kullanici drop edebilir
TABLO ADI DEGISTIRME
-----------------------
RENAME tablo adi TO yeni tablo adi
1- Tabloyu yaratan adini degistirebilir
2-Kullanilan tablonun adi degistirilemez
3-Sistemde topladigi alan ve konumu degismez
COMMENT deyimi
----------------------
Tabloya veya tablo alanina aciklama metni ekler
COMMENT ON TABLE tablo adi IS "metin"
COMMENT ON COLUMN tabloadi.atandi IS "metin"
DATA DICTIONARY
--------------------
veri sozlugu
TAB: tablolari
CATALOG: erisilebilecek tablolari
SYSCATOLOG: erisilebilecek tablolari+ sistem tablolari
COL : kullanicinin yarattigi alanlari
COLUMNS : kullanicinin erisebilecegi alanlari
SYSCOLUMS : kullanicinin erisebilecegi alanlari + sistem sozlugu
DTAB : goruntu tablolarini goruntuler
VERI ISLEME
-----------------
"INSERT"
1) veri tablosuna yeni satirlar ekler.
INSERT INTO Tabloadi (adi,soyadi,yasi)
VALUES ("ALI","GULMEZ",99)
2) Bir tablodan baska tabloya verilerin aktarilmasinda kullanilir.
INSERT INTO tablo adi1(alan1,alan2,....)
SELECT alan1,alan2,alan3,....
FROM tablo adi2
WHERE sart
INSERT INTO calisan (adi,soyadi,yasi)
SELECT adi,soyadi,yasi
FROM memur
WHERE yasi>20
UPTADE
--------------
Alani goster
1) UPTADE tablo adi
SET alanadi = ifade
WHERE (kosul dogru ise)
2) UPTADE tablo adi2) UPTADE tablo adi
SET alan1=ifade1,
alan2=ifade2,
...........
WHERE (Şart dogru ise)
3) UPTADE Table
SET alan adi=(SELECT alan* FROM ...)
WHERE (Şart)
ORNEK:
UPTADE calisanlar
SET (maas,kod) =(SELECT maas,kod
FROM isciler
WHERE calisan adi=isci adi)
DELETE
-------------
DELETE FROM tablo adi
WHERE kosul
ORNEK:
Bolum 20 deki tum isci kayitlarini sil
DELETE FROM isci
WHERE bolum =20
GORUNTU TABLOLARI VIEW
-------------------------------
Yaratma
CREATE VIEW gor-tablo-adi
AS gecerli select dogru
====> WITH CHECK OPTION
ORNEK:
CREATE VIEW isci 10
AS SELECT adi,num
FROM isci
WHERE bolum=10
Option kullanildiginda veri uzerinde degisiklik yapildiginda
istenirse kontrol edilir.
DROP VIEW goruntu adi
---------------------------------
Onceden varolan goruntu tablosunu yokeder