IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Oracle (https://www.ircforumlari.net/oracle/)
-   -   Oracle SQL Komutları (https://www.ircforumlari.net/oracle/626641-oracle-sql-komutlari.html)

hAte 12 Ekim 2014 06:59

Oracle SQL Komutları
 
ORACLE - Temel SQL Komutları

(+)
(+), Birleştirme yapılan tablolardan ikinci tabloda birinci tablodaki her kaydın karşılığı olmazsa, karşılığı olmayan kayıtlar sql sonucunda sadece olmayan alanlar değil bilakis kayıt hiç gelmez. Bunun önlemi dış birleştirmedir. Dış birleştirme işlemi, kayıtları eksik olan tablonun şart tarafına "(+)" işareti konularak yapılır.

SELECT * FROM PERSONEL, UNVAN WHERE PERSONEL.UNVANKEY(+) = UNVAN.UN_KEY

Bu örnekte, 3 tane kayıt gelmektedir, yani UNVAN tablosunda sadece UN_KEY=1 olan sadece bir kayıt var.

Diğer tablo da ise (PERSONEL) UNVANKEY'i birinci tabloda ki UN_KEY=1' e eşit olan kayıtlar sorgu sonucu gelir. Not: Biz null değere sahip olanları da birleştirmek istersek eksik olan tablonun yanına (+) işareti eklenir.

PERSONEL.PR_KEY PERSONEL.SICIL PERSONEL.UNVANKEY UNVAN.UN_AD UNVAN.SERVISKEY
1 XI 1 6
50 1 1 1
54 1212541 1 1

ABS
ABS, N sayısının pozitif halini sonuç olarak döndürür.

SELECT ABS(-1), ABS(1) FROM HASTA

Bu örnekte olduğu gibi bir sayıyı (pozitif yada negatif) pozitif bir sayıya çevirir.
ABS(-1) ABS(1)
1 1
1 1
1 1

COS
COS(N), N sayısının kosinüsünü sonuç olarak döndürür.
SELECT COS(-1), COS(0), COS(1) FROM HASTA

Bu örnekte olduğu gibi bir sayıyı (pozitif yada negatif) kosinüsüne çevirir.
ACOS(1) ACOS(0) ACOS(-1)
1 1 1
1 1 1
1 1 1

ACOS
ACOS(N), N sayısının ark kosinüsünü sonuç olarak döndürür.
SELECT ACOS(-1), ACOS(0), ACOS(1) FROM HASTA

Bu örnekte olduğu gibi bir sayıyı (pozitif yada negatif) ark kosinüsüne çevirir.
ACOS(-1) ACOS(0) ACOS(1)
3 2
3 2
3 2

ADD_MONTHS
ADD_MONTHS, ADD_MONTHS(t,n) t tarihini, n ay eklenmis olarak sonuçta döndürür.

SELECT ADD_MONTHS(TO_DATE('31.01.2001'),1) FROM HASTA
Bu örnekte olduğu gibi t (31.01.2001) tarihine n (1) ay ekleyerek sonuca yansıtır.

ADD_MONTHS(TO_DATE('31.01.2001')
28.02.2001
28.02.2001
28.02.2001

ALL
ALL, Tablolarda ki bütün alanların listeleneceğini (çift olsa dahi) gösterir.

SELECT HS_KEY, HS_AD, CINSIYET, ISLEMSAYI FROM HASTA WHERE ISLEMSAYI>ALL(SELECT DISTINCT HS_KEY FROM HASTA WHERE TELEKOMBOLUM='BASIN YAYIN')

All komutu ile bu örnekte basın yayın (BASIN YAYIN) bölümünde çalışan her hastadan daha fazla işlem sayısı (ISLEMSAYI) olan hastanın hs_ad, hs_soyad, cinsiyet, işlemsayi alanları listelenir. Not: Bu örnekteki " her hasta " ifadesi bize ALL kullanılacağını gösterir.

HS_KEY HS_AD CINSIYET ISLEMSAYI
93 ORHAN E 13
42017 TÜRKAN K 4
42029 ÖZLEM K 5

ALL_OBJECTS
ALL_OBJECTS, Kullanıcının erişebileceği bütün nesneler hakkında bilgi içeren görüntüdür.

ALTER
ALTER, Tabloya sütün / tablo kısıtlaması ekleme komutudur. Tabloya yeni sütun ekleme komutudur. Tablonun kayıt parametrelerini değiştirme komutudur. Bir kısıtlamayı açma/kapama komutudur. Tablonun üzerinde ki bütün tetiklemeleri açma/kapama komutudur. Tablo ya kayıt girmeye müsaade etme/etmeme komutudur. Tablonun paralellik derecesini değiştirme komutudur.

ALTER TABLE HASTA ADD (ADI CHAR(20), SOYAD CHAR(20))

Bu örnekte, hasta tablosu içerisine ADI ve SOYADI karakter (char) tipteki alanlar eklenmiştir. Bu işlemden sonra SELECT HASTA.*, ROWID FROM HASTA komutunu yazarak gelen tabloda ki ADI ve SOYADI alanlarına ADI alanına (ÖZLEM,HÜLYA,ZEYNEP) SOYADI alanına (YILDIZ,AK,MERT) verilerini alt alta girdikten sonra SELECT * FROM HASTA dediğimizde aşağıdaki tablo karşımıza çıkacaktır.

HS_AD HS_SOYAD CINSIYET ADI SOYAD
ORHAN AYAZ E ÖZLEM YILDIZ
TÜRKAN AYAZ K HÜLYA AK
ÖZLEM AYAZ K ZEYNEP MERT

ALTER TABLE HASTA MODIFIY HS_AD VARCHAR2(40)

Bu örnekte de hasta tablosunun bir alanının uzunluğu 40 olarak değiştiriliyor. Modify komutu bir alanın uzunluğunu (karakter sayısını) değiştirir. Hasta tablosunda ki HS_AD alanının uzunluğunun VARCHAR2(40) olarak değiştiğini DESC HASTA komutunu çalıştırarak görebiliriz.

SIRA ALAN ADI ALAN TIPI BOŞ
1 HS_KEY NUMBER NOT NULL
2 HS_AD VARCHAR2(40)
3 HS_SOYAD VARCHAR2(18)
4 ISLEMSAYI NUMBER
5 DOGUMTARIHI DATE
6 DOGUMYERI VARCHAR2(15)

ANALYZE
ANALYZE, Tablolar ve indekslerle ilgili istatistik toplayan DLL komutudur.

AND
AND, Where bölümünde birden fazla şart yazıldığı zaman, aralarındaki ilişkiye göre kullanılan ifadedir. And her iki şartın aynı anda doğruluğunun gerektiği durumlarda kullanılır.

SELECT * FROM HASTA WHERE HS_KEY>20 AND HS_KEY<40

Bu örnek ile hasta numarası(HS_KEY) 20 ile 40 arasında olan tüm alanlar listelenmektedir.

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
21 ELAHATTIN İÇER E
25 MUHARREM BEŞIR E 1
29 VURAL CENGİZ E
33 ALI TURGAY ERKAN E 1
37 KAZIM GÜÇLÜ E 1

ANY
ANY, Alt sorgulamadan seçilen değerlerden en az biri karsılaştırılır.

SELECT * FROM HASTA WHERE HS_KEY=ANY(93,2005,14005)

Any komutu ile hasta tablosu içerisinde hasta numarası (HS_KEY) olan ve any komutu içerisine yazılan değerlerden en az birini karşılaştırarak sonuca yansıtır.

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYERI DOGUMTARIHI
93 AHMET AYAZ E 14
2005 SEMA SARIKAYA K 1
14005 VİLDAN TURHAL K

AS
AS, Bir tablodan, içindeki kayıtlarla birlikte sadece balirtilen alanları alarak bir başka tablo oluşturma komutudur. Bir sütünun adını değiştirme komutudur.

SELECT HS_KEY AS HASTANUMARASI FROM HASTA

As, komutu ile hs_key olan alanın adını HASTANUMARASI olarak değiştirilebilir.

HASTANUMARASI
5
9
13
17

ASC
Sorgu sonucu dönen kayıtlarda sıralamayı küçükten büyüye doğru yapmak için kullanılan ifadedir.

SELECT * FROM HASTA ORDER BY HS_KEY ASC

Hasta tablosunda ki hasta numaralarını(HS_KEY) küçükten büyüye doğru sıralamaktadır.

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
5 I.HAKKI ALPTÜRK E 3
9 VEDAT KARAARSLAN E 2
13 ZAFER TEKBUDAK E 1
17 CELALETTİN DINÇER E 1

ASCII
ASCII, Bir karakteri yada cümleyi ascıı sayıya çevirir.

SELECT ASCII('COZUM'), ASCII('BILGISAYAR') FROM HASTA

Ascıı komutu ile yazılan karakter yada cümleyi ascıı karakterine çevirerek sonuca yansıtır.

ASCII(COZUM) ASCII(BILGISAYAR)
67 66
67 66
67 66

ASIN
ASIN(n) n sayısının ark sinüsünü sonuç olarak döndürür.

SELECT ASIN(-1), ASIN(0), ASIN(1) FROM HASTA

Bu örnekte olduğu gibi bir sayıyı (pozitif yada negatif) ark sinüsünü sonuç olarak yansıtır.

ASIN(-1) ASIN(0) ASIN(1)
-2 2
-2 2
-2 2

ASSOCIATE


ATAN

ATAN(n) n sayısının ark tanjantını sonuç olarak döndürür.

SELECT ATAN (.781285627), TAN(663225116) FROM HASTA

Bu örnekte olduğu gibi bir sayıyı (pozitif yada negatif) ark tanjantını sonuç olarak yansıtır.

ATAN (.781285627 TAN(663225116)
1 1
1 1
1 1

ATAN2
SELECT ATAN2(.8,1), ATAN(.9) FROM HASTA

ATAN2(.8,1) ATAN(.9)
1 1
1 1
1 1


AUDIT
AUDIT, Veritabanı nesneleri hakkında kontrol işlemleri yapar ve Sql' leri seçerek tanımlama komutudur.


AVG
AVG, bütün değerlerinin ortalamasını döndürür.

SELECT AVG(ISLEMSAYI) FROM HASTA

AVG komutu ile hasta tablosundaki bütün kayıtların ortalama işlem sayısını (ISLEMSAYI) hesaplar.

AVG(ISLEMSAYI)
2


BETWEEN
BETWEEN, İki değer arasındaki kayıtları belirler.

SELECT * FROM HASTA WHERE HS_KEY BETWEEN 1 AND 20

Between komutu ile hasta numarası (hs_key) 1 ile 20 arasında olan kayıtları listeler.

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
5 I.HAKKI ALPTÜRK E 3
9 VEDAT KARAARSLAN E 2
13 ZAFER TEKBUDAK E 1
17 CELALETTİN DINÇER E 1


BFILENAME
Declare admin_photo bfile; Begin dmin_photo:=BFILENAME('('/home/oracle','ADMINISTRATOR_PHOTO.JPG'); end;


BLOB
BLOB, Oracle veritabanında temel kayıt ünitesidir.


BY
BY komutu, Order By ve Group By komutları ile birlikte kullanılmaktadır.

SELECT * FROM HASTA ORDER BY HS_KEY

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
5 I.HAKKI ALPTÜRK E 3
9 VEDAT KARAARSLAN E 2
13 ZAFER TEKBUDAK E 1
17 CELALETTİN DINÇER E 1

CALL
CALL, Database de ki yazılan bir proceduru yada fonksiyonu çağırmak için kullanılır.

CEIL
CEIL(n) n sayısından büyük mevcut en küçük tam sayıyı sonuç olarak döndürür.

SELECT CEIL(10), CEIL(10.5), CEIL(-10.5) FROM HASTA

CEIL komutu verilen pozitif yada negatif sayıyı sonuç olarak en küçük sayıyı tam sayıya çevirir.

CEIL(10) CEIL(10.5) CEIL(-10.5
10 11 -11
10 11 -11
10 11 -11

CHARTTOROWID
CHARTTOROWID(n) Karkater olan n sayısını ROWID değere çevirir ve sonuç olarak da bu değeri döndürür.

SELECT * FROM HASTA WHERE ROWID=CHARROWID(")

CHR
CHR, Bir sayının karakter halini sonuç olarak gösterir.

SELECT CHR(70), CHR(80), CHR(90), CHR(120) FROM HASTA

Bu örnekte olduğu gibi CHR komutu bir sayıyı karakter haline çevirerek sonuca yansıtılmıştır.

CHR(70) CHR(80) CHR(90) CHR(120)
F P Z X
F P Z X
F P Z X
F P Z X


CLUSTER
CLUSTER, Bir kaydın fiziksel yerinin kayıdın içindeki değere bağlı olarak değişen bir tablo yapısı çeşididir.


COMMENT
COMMENT, Tablo,sütun,görüntü ve snapshot hakkında veri sözlüğüne yorum yazma komutudur.

COMMENT on table hasta coloumn(hs_ad) is 'ÖZLEM'

COMMIT
COMMIT, Bütün yapılan İşlemleri kesin olarak kalıcı olmasını sağlar. Böylece yapılan değişiklikleri varsa diğer kullanıcılarda görür.

CONCAT
CONCAT, Concat(d1,d2) ile d1 dizesini (string), devamına d2 dizesi eklenmiş olarak sonuçta döndürür.

SELECT CONCAT('ÇÖZÜM',' BİLGİSAYAR') AS SIRKET FROM HASTA

Bu örnekte olduğu gibi CONCAT komutu ile birinci string' in yanına ikinci stringi ekleyerek bu iki kelimeyi sonuca yansıtır. AS komutu ile de bu birleştirilmiş olan 2 stringin alan adı (SİRKET) belirlenmiş olur.

SIRKET
ÇÖZÜM BİLGİSAYAR
ÇÖZÜM BİLGİSAYAR
ÇÖZÜM BİLGİSAYAR

CONSTRAINT
CONSTRAINT, O kolon için daha açıklayıcı olması açısından ve yapısı açısından kullanılır. Oracle veritabanı tablolarında veri bütünlüğünün sağlanması için veritabanı düzeyinde konan sınırlamalardır. Null/Not Null , Unique, Primary Key, Froeign Key ve Check olmak üzere 5 çeşit kısıtlama vardır.


CONTROLFILE



CONVERT
CONVERT, Oracle versiyon 6 'ya ait veri sözlüğünün oracle versiyon 7'ye çevrilmesinin belirtildiği bölümdür.

SELECT CONVERT(CHR(194), 'US7ASCII', 'WE8EBCDIC37C') FROM HASTA

Bu örnekte CONVERT komutu ile Oracle versiyon 6'ya ait sayı yada karakteri Oracle 7' ye çevrilmesi sağlar.

CONVERT(CHR(194),US7ASCII','W
B
B
B

COS
COS(n) n sayısının kosinüsünü sonuç olarak döndürür.

SELECT COS(0), COS(-1), COS(1) FROM HASTA

Bu örnekte COS komutu ile bir sayıyı (pozitif yada negatif) kosinüsüne çevirerek sonuç olarak yansıtır.

COS(0) COS(-1) COS(1)
1 1 1
1 1 1
1 1 1

COUNT
COUNT(*,sütün) sorgudaki şartlara uyan kayıt sayılarını döndürür.

SELECT COUNT(*) FROM HASTA

Bu örnekte olduğu gibi COUNT komutu ile hasta tablosunda ki toplam kayıt sayısını bulabiliriz.

COUNT(*)
20,997

CREATE
CREATE, Tablo, sütun, procedür, index yaratmak için kullanılır.

CREATE TABLE COZUM(ADI CHAR(20), SOYADI CHAR(20), CINSIYETI CHAR(5))

Bu komutu yazdığımızda COZUM adında ADI, SOYADI, CINSIYETI alanları yaratılmış olucaktır. Daha sonra INSERT INTO COZUM VALUES ('ÖMER', 'SISO', 'E') yazarak oluşturmuş olduğumuz alanlara bilgi girdikten sonra SELECT * FROM COZUM yazdığımızda aşağıda ki tablo karşımıza çıkacaktır.

ADI SOYADI CINSIYETI
ÖMER SISO E

DATABASE
DATABASE, dataların tutulduğu taban.

DATE
DATE, Tarih tutan alanlar için kullanılır.

CREATE TABLE PERS (ADI CHAR(20), SOYADI CHAR(20), TARIH DATE)

Komutunu yazdıktan sonra içerisine 2 adet veri girişi yapalım. INSERT INTO PERS VALUES('HAKAN', 'MERT', '01.02.2000') bu komutu çalıştırdıktan sonra şimdi ikinci veri girişini yapalım. INSERT INTO PERS('CANAN', 'TERS', '02.11.2001') bu komutu da çalıştırdığımız da aşağıdaki tablo karşımıza çıkacaktır.

ADI SOYADI TARIH
HAKAN MERT 01.02.2000
CANAN TERS 02.11.2001


DAY
DAY , Gün tutan alanlar için kullanılır.

DBA_OBJECTS
DBA_OBJECTS, Veritabanındaki bütün nesleler hakkında bilgi içeren görüntüdür.


DBA_TRIGGERS
DBA_TRIGGERS, Veritabanındaki bütün tetiklemeler hakkında bilgi içeren görüntüdür.


DECODE

DECODE, Kodlanmış bilgileri açıklamalrıyla listelemek amacıyla kullanılır.

SELECT HS_AD, HS_SOYAD, DECODE(CINSIYET, 'E', 'ERKEK', 'K', 'KADIN') AS CINSIYET FROM HASTA

HS_AD HS_SOYAD CINSIYET
AHMET AKMAN ERKEK
VELI YILMAZ ERKEK
AYSE GÜN KADIN


DELETE
DELETE, Herhangi bir table yada sütünu silmek için kullanılır.

DELETE FROM ABIOTIK

Not: Lütfen bu örneği denemeyiniz. ABIOTIK tablosunu silersiniz , denediyseniz rollback komutunu yazarak silmiş olduğunuz tabloyu geri kurtarabilirsiniz.

DESC
DESC, Sorgu sonucu dönen kayıtları sıralamayı büyükten küçüğe doğru yapmak için kullanılan ifadedir. Tabloların sütünlarını listelemektedir.

SELECT * FROM HASTA WHERE HS_KEY DESC

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
5 I.HAKKI ALPTÜRK E 3
9 VEDAT KARAARSLAN E 2
13 ZAFER TEKBUDAK E 1
17 CELALETTİN DINÇER E 1

DESCRIBE
DESCRIBE, Tabloların fieldlarınını ve yapısını listelemek amacıyla kullanılır.

DESCRIBE HASTA

SIRA ALAN ADI ALAN TIPI BOŞ
1 HS_KEY NUMBER NOT NULL
2 HS_AD VARCHAR2(40)
3 HS_SOYAD VARCHAR2(18)
4 ISLEMSAYI NUMBER
5 DOGUMTARIHI DATE
6 DOGUMYERI VARCHAR2(15)

DICT
SQL*PLUS' ta çalışırken, DICTINORY veye eş anlamı olan DICT görüntüsünden bütün veri sözlüğü görüntüleri hakkında bilgi alınabilmektedir.Aşağıdaki örnekte DICT görüntüsünün alanlarını (yapısını) listeleyelim.

DESC DICT

SIRA ALAN ADI ALAN TIPI BOS
1 TABLE_NAME VARCHAR2(30)
2 COMMENTS VARCHAR2(4000)

DICT_COLUMNS


DICTIONARY
SQL*PLUS' ta çalışırken, DICTINARY veye eş anlamı olan DICT görüntüsünden bütün veri sözlüğü görüntüleri hakkında bilgi alınabilmektedir.Aşağıdaki örnekte DICT görüntüsünün alanlarını (yapısını) listeleyelim.

DESC DICTINARY

SIRA ALAN ADI ALAN TIPI BOS
1 TABLE_NAME VARCHAR2(30)
2 COMMENTS VARCHAR2(4000)


DIMENSION

DIRECTORY

DISASSOCIATE

DISTINCT
DISTINCT, Kayıt yinelenmesini önlemek için kullanılan ifadedir. Hasta tablosu içerisinde aynı kayıt iki defa yada daha fazla girildiyse dahi DISTINCT komutu kayıt yinelenmesini önleyerek teke indirerek tabloda gösterilmesini sağlar.

SELECT DISTINCT HS_KEY FROM HASTA

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
5 I.HAKKI ALPTÜRK E 3
9 VEDAT KARAARSLAN E 2
13 ZAFER TEKBUDAK E 1
17 CELALETTİN DINÇER E 1


DROP
DROP, table yada sütun silme komutudur.

ALTER TABLE DROP ADRES

Not: Lütfen bu örneyi denemeyiniz. Hasta tablosu içerisinden adres fieldını silersiniz. Denediyseniz rollback komutu ile son yaptığınız işlemi geri alabilirsiniz.


DUAL
DUAL, Sql' de kullanılan fonksiyon veya değerler, eğer herhangi bir tablodan çağrılmıyacaksa, bu durumlarda SQL formatının yanlış yazılmış olmaması için FROM bölümünden sonra standart olarak DUAL yazılır.
DUMP
SELECT DUMP(SYSDATE) FROM HASTA

DUMP(SYSDATE)
Typ=13 Len=8: 209,7,11,6,13,57,3,0
Typ=13 Len=8: 209,7,11,6,13,57,3,0
Typ=13 Len=8: 209,7,11,6,13,57,3,0


EMPTY_BLOB
CREATE TABLE HAK(ADI BLOB) Bu komut zinciri ile ilk önce HAK adında sadece ADI alanı blob olan bir table yarattık. Daha sonra bu tablo da ADI adlı alana bilgi girelim. INSERT INTO HAK(ADI) VALUES(EMPTY_BLOB()) Şimdide SELECT * FROM HAK komutunu çalıştırdığımızda aşağıda ki tabloyu elde ederiz.

ADI
(OraBlob)

EMPTY_CLOB

CREATE TABLE HASTANE (ADI CLOB) Bu komut zinciri ile ilk önce HASTANE adında sadece ADI alanı Clob olan bir table yarattık. Daha sonra bu tablo da ADI adlı alana bilgi girelim. INSERT INTO HASTANE(ADI) VALUES(EMPTY_CLOB()) Şimdide SELECT * FROM HASTANE komutunu çalıştırdığımızda aşağıda ki tabloyu elde ederiz.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:02.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net