X



Konu Bilgileri
Konu Başlığı
"Oracle Dökümanları...."
Konudaki Cevap Sayısı
0
Konuyu Açan Kişi
jettlii
Görüntülenme Sayısı
199





Mesaj Önizleme  Konuyu Gönder 
"Oracle Dökümanları...."
Yazar Mesaj
jettlii
KaRaTeCi
Moderators

Üye No: 11260
Katılım: Dec 2006
Yer: Salondan....
Mesajlar: 2,120
Grup: Moderators
Durum Uzakta

Rep Ver :
Rep Puanı : 50
Ruh Hali
mesgul

MSN araciligi ile mesaj yolla Yahoo araciligi ile mesaj yolla ICQ araciligi ile mesaj yolla AIM araciligi ile mesaj yolla




Mesaj: #1
"Oracle Dökümanları...."

(+), 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


<FONT face=Verdana>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


<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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.

<FONT face=Verdana>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)

<FONT face=Verdana>ANALYZE

ANALYZE, Tablolar ve indekslerle ilgili istatistik toplayan DLL komutudur.

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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

<FONT face=Verdana>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


<FONT face=Verdana>ASSOCIATE


<FONT face=Verdana size=2>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


<FONT face=Verdana>ATAN2

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

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


<FONT face=Verdana>AUDIT

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


<FONT face=Verdana>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


<FONT face=Verdana>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


<FONT face=Verdana>BFILENAME

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


<FONT face=Verdana>BLOB

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


<FONT face=Verdana>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

<FONT face=Verdana>CALL

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

<FONT face=Verdana>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


<FONT face=Verdana>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( " )


<FONT face=Verdana>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


<FONT face=Verdana>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.


<FONT face=Verdana>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’


<FONT face=Verdana>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.

<FONT face=Verdana>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


<FONT face=Verdana>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.


<FONT face=Verdana>CONTROLFILE




<FONT face=Verdana>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


<FONT face=Verdana>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


<FONT face=Verdana>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


<FONT face=Verdana>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


<FONT face=Verdana>DATABASE

DATABASE, dataların tutulduğu taban.


<FONT face=Verdana>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


<FONT face=Verdana>DAY

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


<FONT face=Verdana>DBA_OBJECTS

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


<FONT face=Verdana>DBA_TRIGGERS

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


<FONT face=Verdana>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


<FONT face=Verdana>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.


<FONT face=Verdana>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


<FONT face=Verdana>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)


<FONT face=Verdana>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)


<FONT face=Verdana>DICT_COLUMNS


<FONT face=Verdana>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)


<FONT face=Verdana>DIMENSION

<FONT face=Verdana size=2>DIRECTORY

<FONT face=Verdana size=2>DISASSOCIATE

<FONT face=Verdana>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


<FONT face=Verdana>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.


<FONT face=Verdana>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.


<FONT face=Verdana>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


<FONT face=Verdana>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)

<FONT face=Verdana>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.

ADI
(OraClob)


<FONT face=Verdana>EXISTS

"Var, mevcuttur" anlamındaki bu sözcük, SQL’ de BoBravoan (lojik, mantıksal) operatörüdür. İçteki SELECT komutunun sorgulanması sonucunda, en az bir tablo satırı üretilmişse,EXISTS operatörü true (doğru) değerini, hiçbir tablo satırı üretilmemişse, EXISTS operatörü (yalnış) değerini üretir. Not: EXISTS operatörü, AND, OR ve NOT gibi diğer mantıksal ifadelelerle de kullanılır. Aşağıda ki örnekte HASTA tablosunda EXISTS içerisine yazılan ifadeyi sağladığı için true değerini döndürmüş ve aşağıdaki tabloyu oluşturmuştur.

SELECT * FROM HASTA WHERE EXISTS(SELECT HS_AD 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


<FONT face=Verdana>EXP

EXP(n) e’ nin n’ inci üssünü sonuç olarak döndürür. (e=2.718)

SELECT EXP(3) FROM HASTA

EXP(3)
20
20
20


<FONT face=Verdana>EXPLAIN PLAN

EXPLAIN PLAN, Tablosunu ya utlxpin.sql’ini çalıştırarak ya da create table cümlesi ile kendiniz yaratabilirsiniz.


<FONT face=Verdana>EXTRACT

<FONT face=Verdana>FLOOR

FLOOR, FLOOR(n) n sayısından küçük veya n sayısına eşit mevcut en büyük tam sayıyı sonuç olarak döndürür. Bu örnekte 9.9 ve -9.9 sayılarını FLOOR komutu ile 9.9’ u 9’a ve -9.9’u da -10’ a (kendisinden küçük en yakın tam sayıya) çevirir.

SELECT FLOOR(9.9), FLOOR(-9.9) FROM HASTA

FLOOR(9.9) FLOOR(-9.9)
9 -10
9 -10
9 -10


<FONT face=Verdana>FOR

For döngüleri özellikle belirli bir sayıda yapılan döngüler için kullanılan döngü tipidir. Döngünün kaç defa olacağını baş tarafında ki sayılar belirlemektedir.


<FONT face=Verdana>FROM

FROM, Kullanılacak tabloların yazıldığı bölümdür.

SELECT * 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


<FONT face=Verdana>FUNCTION

FUNCTION, Bir fonksiyon bir değer hesaplayan alt programdır. Fonksiyon ve prosedür yapıları RETURN anahtar kelimesi haricinde benzerdir.


<FONT face=Verdana>GRANT

GRANT, Sistem hakları ,rolleri ve nesne haklarını bir kullanıcı veya rolden hak alarak geri alma komutudur.


<FONT face=Verdana>GREATEST

GREATEST, Belirtilen sayı yada gün yada tarih içerisinden en büyüyünü bulur.

SELECT GREATEST(93,42017,2005) AS ENBUYUKSAYI FROM HASTA

GREATEST içerisine yazılan sayılardan en büyük rakkamı, tarihi yada mantıksal ifadeyi bularak sonuca yazdırır.Burada ki AS komutu ile de yzdığımız bu sayılar arasında ki en büyük sayıyı bularak bu alanın adını ENBUYUKSAYI olarak değiştirir.

ENBUYUKSAYI
42017
42017
42017

SELECT GREATEST(’ ONE’,’TWO’ ) AS SAYI FROM HASTA

SAYI
TWO
TWO

SELECT GREATEST(TO_DATE(’11/11/2000’ , ’mm/dd/yyyy’ ) , TO_DATE(’ 12/12/2001’ ) ) AS ENBUTUKTARIH FROM HASTA

ENBUYUKTARIH
12/12/2001
12/12/2001
12/12/2001


<FONT face=Verdana>GROUP

GROUP, Sorgu sonucu dönen kayıtları belli özelliklerine göre gruplama işleminin yapıldığı bölümdür.

SELECT AVG(HS_KEY) FROM HASTA GROUP BY HS_KEY

Bu örnek ile Hasta tablosu içerisinde hasta numaralarına(HS_KEY) göre gruplama yaparak, herbir gurubun ortalamasını (AVG) bulur.

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


<FONT face=Verdana>GROUPING

GROUPING, Group by dan sonra kullanılır.

SELECT HS_KEY, HS_AD, COUNT(*), GROUPING(HS_KEY) FROM HASTA GROUP BY ROLLUP(HS_AD, HS_KEY)

HS_KEY HS_AD COUNT(*) GROUPING(HS_KEY)
87625 AYŞE 1
AYŞE 1
125757 BİRSEN 1
BİRSEN 1


<FONT face=Verdana>HAVING

GROUP BY kullanıldığı SQL’ lerdeki grubu ilgilendiren şartların yazıldığı bölümdür. Burada grup içerisinde ki şartlar belirlenir. Bu örnekte hasta numarasına(HS_KEY) göre guruplama yapılmış. Ve HAVING komutu ile her bir group içerisinde ki hasta numarası(HS_KEY) 8’ den küçük olan numaraların ortalaması alınmıştır.

SELECT AVG(HS_KEY) FROM HASTA GROUP BY HS_KEY HAVING AVG(HS_KEY)<8

AVG(HS_KEY)
5


<FONT face=Verdana>HEXTORAW

SELECT RAWTOHEX(HEXTORAW(’12341312314151’ )) FROM HASTA

RAWTOHEX(HEXTORAW(’ 19’ ) )
19
19


<FONT face=Verdana>IN

IN(liste) Liste’ nin içindeki herhangi bir değeri sağlayan kayıtlar.

SELECT * FROM HASTA WHERE HS_KEY IN(SELECT MAX(HS_KEY) FROM HASTA)

Hasta tablosu içerisinde hasta numarası (HS_KEY) en büyük olan kaydın tüm alanlarını(bilgilerini) getirir.

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
125853 SELMA ZENGİN K 1 ANKARA 11.11.1976



<FONT face=Verdana>INDEX

Tablolarda ki kayıtlara daha hızlı erişebilmek için kullanılan nesnelerdir.


<FONT face=Verdana>INITCAP

INITCAP(d) d dizesinin ilk harfi büyük diğer harfleri küçük olarak sonuçta döndürür.

SELECT INITCAP(HS_AD) FROM HASTA

Bu örnek ile hastanın adı (HS_AD) alanında ki bilgilerin baş harfini büyük diğer harflerini küçük olarak değiştirir.

INITCAP(HS_AD)
Ahmet
Kaan
Yiğit


<FONT face=Verdana>INSERT

Tablo’ya bilgi girişi yapmak için kullanılan bir komuttur.

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

Yukarıda COZUM adında ADI ve SOYADI alanları olan bir tablo yarattık.Şimdide yaratmış olduğumuz bu tabloya 1 satır bilgi girişi yapalım.

INSERT INTO COZUM VALUES(’ ÖZLEM’ , ’ YILDIZ’ )

Daha sonrada SELECT * FROM diyerek yaratmış olduğumuz tabloyu görelim.

ADI SOYADI
ÖZLEM YILDIZ


<FONT face=Verdana>INSTR

INSTR(d1,d2,[m,n]) d1 dizesinin içerisinde ,d2 dizesini d12in m’inci karakterden başlamak üzere n’inci defaki tekrarını arar ve sonuçta bulduğu karakter sayısını döndürür eğer belirtilmezse m ve n start olarak 1’ dir.

SELECT HS_AD, INSTR(HS_AD, ’A’ ) FROM HASTA

Hasta tablosu içerisinde hastanın adı(HS_AD) adlı alanda A harfini arar ve A harfi kaçıncı karakterden itibaren başlarsa INSTR ile A harfinin başladığı konumunu yazar.

HS_AD INSTR(HS_AD,’A’ )
AYSE 1
OZLEM
KAAN 2
OSMAN 4
OMER


<FONT face=Verdana>INSTRB

SELECT INSTRB(HS_AD,’A’ ) FROM HASTA

HS_AD INSTR(HS_AD,’A’ )
AYSE 1
OZLEM
KAAN 2
OSMAN 4
OMER


<FONT face=Verdana>INTERSECT

İki tane ayrı sql sonucu dönen kayıtların kesişim kümesini sonuca yansıtır.


<FONT face=Verdana>INTO

INTO kelimesi INSERT kelimesinden sonra kullanılır. Tabloda ki bir satıra bilgi girişi yapabilmek için kullanılır. İlk önce bir tablo yaratalım daha sonrada INTO kelimesini kullanarak yaratmış olduğumuz bu tablo ya bir satır veri girişi yapalım.

CREATE TABLE MUSTER(MUSTERIADI CHAR(20), MUSTERISOYADICHAR(20))

(Müşteri adında MUSTERI NO ve MUSTERI ADI adlı alanları olan bir tablo yarattık.)

INSERT INTO MUSTER VALUES(’DERYA’ , ’KOÇ’ )

(Şimdi de yaratmış olduğumuz bu tablo ya bir satır bilgi girdik.Aşağıda yazmış olduğumuz kodu çalıştırarak sonuç tablosunu görebiliriz.

SELECT * FROM MUSTER

MUSTERIADI MUSTERISOYADI
DERYA KOÇ


<FONT face=Verdana>LAST_DAY

LAST_DAY(t) t tarihinin içerisinde bulunduğu ayın son gününü sonuç olarak döndürür.

SELECT LAST_DAY(TO_DATE(’01.01.2001’ ) ) FROM HASTA

LAST_DAY(TO_DATE(’01.01.2001’ )
31.01.2001


<FONT face=Verdana>LENGTH

LENGTH(d1) d1 dizesinin boyutunu sonuç olarak döndürür.

SELECT LENGTH(’COZUM’) FROM HASTA

LENGHT(’COZUM’ )
5


<FONT face=Verdana>LENGTHB

SELECT LENGTHB(’COZUM’ ) FROM HASTA

LENGHT(’COZUM’ )
5


<FONT face=Verdana>LIKE

LIKE, Şarta bir bölümü uyan kayıtları listeler. Benzerlik vermek için kullanılır. ’%’ karakteri tüm karakterler yerine geçer. ’_’ karakteri ise tek karakter yerine geçer. Sadece _ işaretini çıkarmak için ’ _ ’ işareti kullanılır. Küçük büyük harf ayrımı vardır.

HASTA tablosu içerisinde ki hastanın adı(HS_AD) alanında ki adı A ile başlayanları listeleyiniz.

SELECT * FROM HASTA WHERE HS_AD LIKE ’A%’

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
137 ATİLLA BAYBAŞ E 3
149 ALPER YASEMİN E 2
241 APDULRAHMAN BAY E 2
261 AYNUR KOÇ K 1

HASTA tablosu içerisinde ki hastanın adı(HS_AD) alanında ki adının son harfi A olanları listeleyiniz.

SELECT * FROM HASTA WHERE HS_AD LIKE ’ %A ’

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
2005 SEMA SARIKAYA K 3
1005 DOĞA AMİKLİOĞLU K 2
20005 MEHLİKA ÖĞÜT K 2
8005 SÜREYYA TEKİNCAN K 1

HASTA tablosu içerisinde ki hastanın adı(HS_AD) alanında başı ve sonu belli olmayan içerisinde A harfi bulunan kayıtları listeleyiniz.

SELECT * FROM HASTA WHERE HS_AD LIKE ’ %A% ’

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
2005 KAAN MERT E 3
1005 SEMA CAN K 1
20005 SİNAN YILDIZ E 1
8005 İHSAN TEKİNCAN E 1


<FONT face=Verdana>LINK

<FONT face=Verdana size=2>LN

LN(n) n sayısının doğal logaritmasını sonuç olarak döndürür.

SELECT LN(120) FROM HASTA

LN(120)
5


<FONT face=Verdana>LOG

LOG(m,n) n sayısının m tabanına göre logaritmasını sonuç olarak döndürür.

SELECT LOG(10,10000) FROM HASTA

LOG(10,10000)
4


<FONT face=Verdana>LOWER

LOWER(d) d dizesinin bütün harflerini küçük olarak sonuçta döndürür. Bu örnekte HASTA tablosunda hastanın adı(HS_AD) adlı alanda tüm bilgiler(satırlar) küçük harfe çevrilerek sonuca yazdırıldı.

SELECT LOWER(HS_AD) FROM HASTA

HS_KEY HS_AD HS_SOYAD CINSIYET ISLEMSAYI DOGUMYER DOGUMTARIHI
200 ali KANBUR E 3
1000 mert SERT K 1
2003 yasemin YILMAZ K 1
8005 seda TEKİNCAN K 1


<FONT face=Verdana>LPAD

LPAD(d1,n,d2) d1 dizisini, n karakter oluncaya kadar soldan d2 eklenmiş olarak sonuçta döndürür.

SELECT LPAD(’L’,3,’P’ ) FROM HASTA

LPAD(’L’,3,’P’ )
LPP
LPP
LPP


<FONT face=Verdana>LTRIM

LTRIM(d1[d2])d1 dizisinin baş tarafından d2 dizesinde olan karakterler çıkartılmış olarak sonuçta döndürür, eğer belirtilmezse standart olarak d2 boşluktur. Bu örnekte HASTA tablosu içerisinde hastanın adı(HS_AD) adlı alanda baş harfi A ile başlayan adların baş harfini çıkartarak sonuca yansıtılmıştır.

SELECT HS_KEY, HS_AD, CINSIYET, LTRIM(HS_AD,’A’ ) FROM HASTA

HS_KEY HS_AD CINSIYET LTRIM(HS_AD,’A’ )
137 ATİLLA E TİLLA
149 ALPER E LPER
241 APDULRAHMAN E PDURRAHMAN
261 SERAP K ERAP


<FONT face=Verdana>MATERIALIZED


<FONT face=Verdana>MAX

MAX(Sütün) Sütün değerlerinin en büyüyünü döndürür. Burada DISTINCT komutu ile tekrarlanan kayıtlar teke düşürerek tüm kayıtlar arasında maximum kaydı bulur. ALL komutu ile de tekrarlanmış kayıtlar olsa dahi tüm kayıtlar arasında maximum en büyük hasta numarasını(HS_KEY) bulur.

SELECT MAX(HS_KEY), MAX(DISTINCT HS_KEY), MAX(ALL HS_KEY) FROM HASTA

MAX(HS_KEY) MAX(DISTINCT HS_KEY) MAX(ALL HS_KEY)
125853 125853 125853


<FONT face=Verdana>MIN

MIN(Sütün) Sütün değerlerinin en küçüğünü döndürür. Burada DISTINCT komutu ile tekrarlanan kayıtlar teke düşürerek tüm kayıtlar arasında minumum kaydı bulur. ALL komutu ile de tekrarlanmış kayıtlar olsa dahi tüm kayıtlar arasında minumum en küçük hasta numarasını(HS_KEY) bulur.

SELECT MIN(HS_KEY), MIN(DISTINCT HS_KEY), MIN(ALL HS_KEY) FROM HASTA

MIN(HS_KEY) MIN(DISTINCT HS_KEY) MIN(ALL HS_KEY)
5 5 5


<FONT face=Verdana>MINUS

MINUS, Birinci sql sonucu dönen kayıtlarla ikinci sql sonucu dönen kayıtlar arasında ki fark kümesi.


<FONT face=Verdana>MOD

MOD(m,n) m sayısının n sayısına bölümünden kalanı sonuç olarak döndürür.

SELECT MOD(18,12) FROM HASTA

MOD(18,12)
6
6


<FONT face=Verdana>MONTH

MONTH, tarih kullanımında ay anlamındadır.


<FONT face=Verdana>MONTHS_BETWEEN

MONTHS_BETWEEN(t1,t2) t1 ve t2 tarihleri arasındaki ay sayısını sonuç olarak döndürür.

SELECT MONTHS_BETWEEN(TO_DATE(’09-09-2001’), TO_DATE(’01-02-2001’ ) ) FROM HASTA

MONTHS_BETWEEN(TO_DATE(’09-09-2001’), TO_DATE(’01-02-2001’ ) )
7
7
7


<FONT face=Verdana>NEW_TIME

SELECT NEW_TIME(TO_DATE(’ 8-MAY-2000 8:00 AM’ ), ’ PST ’ , ’ EST’ ) FROM HASTA


<FONT face=Verdana>NEXT_DAY

NEXT_DAY(t,d) t tarihinden sonra ki d isimli ilk günü sonuç olarak döndürür. NEXT_DAY(tarih,’ gün’ ) -->tarih ’den sonraki günün ilk tarihini verir.

SELECT NEXT_DAY(’ 01-MAY-2001’ ,’ SATURDAY’ ) FROM HASTA

NEXT_DAY(’01-MAY-2001’ ,’SATURDAY’ )
07-MAY-2001


<FONT face=Verdana>NLS_CHARSET_DECL_LEN

SELECT NLS_CHARSET_DECL_LEN (100,NLS_CHARSET_ID(’ US7ASCII’ )) FROM HASTA

NLS_CHARSET_DECL_LEN (100,NLS_CHARSET_ID(’US7ASCII’ ))
100
100


<FONT face=Verdana>NLS_CHARSET_ID

SELECT NLS_CHARSET_ID(’US7ASCII’ ), NLS_CHARSET_ID(’WE8EBCDIC37C’) FROM HASTA

NLS_CHARSET_ID(’US7ASCII’ ) NLS_CHARSET_ID(’WE8EBCDIC37C’ )
1 90
1 90


<FONT face=Verdana>NLS_CHARSET_NAME

SELECT NLS_CHARSET_NAME(1),NLS_CHARSET_NAME(90) FROM HASTA

NLS_CHARSET_NAME(1) NLS_CHARSET_NAME(90)
US7ASCII WE8EBCDIC37C
US7ASCII WE8EBCDIC37C


<FONT face=Verdana>NLS_INITCAP

SELECT NLS_INITCAP(’COZUM’, ’NLS_SORT=XFRENCH’ ) FROM HASTA

NLS_INITCAP(’COZUM’ , ’NLS_SORT=XFRENCH’ )
Cozum
Cozum
Cozum


<FONT face=Verdana>NLS_LOWER

SELECT NLS_LOWER(’COZUM’, ’NLS_SORT=XFRENCH’ ) FROM HASTA

NLS_LOWER(’COZUM’, ’NLS_SORT=XFRENCH’ )
cozum
cozum
cozum


<FONT face=Verdana>NLS_UPPER

SELECT NLS_UPPER(’COZUM’, ’NLS_SORT=XFRENCH’ ) FROM HASTA

NLS_UPPER(’COZUM’, ’NLS_SORT=XFRENCH’ )
COZUM
COZUM
COZUM


<FONT face=Verdana>NLSSORT

SELECT NLSSORT(’OZLEM’ , ’NLS_SORT=XFRENCH’ ) FROM HASTA

NLSSORT(’OZLEM’,’NLS_SORT=XFRENCH’ )
5A874B285000010101010100
5A874B285000010101010100


<FONT face=Verdana>NOAUDIT

Kontrol işlemini geri alma komutudur.


<FONT face=Verdana>NOT

NOT’ ın listenin içerisinde ki herhangi bir değeri sağlayan kayıtlar haricindeki kayıtlar yada not like şarta bir bölümü uyan kayıtlar haricinde ki kayıtlar gerektiğine not’ ın yada not like komutları ile kullanılır. Aşağıda ki örnekte HASTA tablosunda hastanın adı(HS_AD) A ile başlamayan kayıtlar listelenecektir.

SELECT HS_KEY, HS_AD FROM HASTA WHERE HS_AD NOT LIKE ’A%’

HS_KEY HS_AD
12 SEMA
138 MERT
152 YASEMİN

<FONT face=Verdana>NULL

NULL, IS NULL(boş olan kayıtlar) yada IS NOT NULL (boş olmayan kayıtlar) için kullanılan bir komuttur. Bu örnekte HASTA tablosu içerisinde hastanın adı(HS_AD) boş olan kayıtlar listelenmiştir.

SELECT HS_KEY, HS_AD, CINSIYET, ISLEMSAYI FROM HASTA WHERE HS_AD IS NULL

HS_KEY HS_AD CINSIYET ISLEMSAYI
42017 E 1
42029 E 2
32005 K 1


<FONT face=Verdana>NUMBER

NUMBER, Nümerik (sayısal) dataların tutulduğu alanlar için kullanılır. Number(m,n) : m kadar (max e38) Sayının n kadar ondalık alan için değer alır.


<FONT face=Verdana>NUMERIC


<FONT face=Verdana>NVL

NVL, Null değeri yerine yeni değer atar.Alan türü ne türde ise alacağı değerde o türdedir. Bu örnekte HASTA tablosu içerisinde ki null (boş) olan hastanın numarası(HS_KEY) adlı alana 0 değeri atanmıştır.

SELECT NVL(HS_KEY,0) FROM HASTA

NVL(HS_KEY,0)
12
23
0


<FONT face=Verdana>OR

OR, Where bölümünde birden fazla şart yazıldığı zaman, aralarındaki ilişkiye göre kullanılan ifadedir. Or her iki şartın en az birinin doğruluğunun yettiği durumlarda kullanılır.

SELECT HS_KEY, HS_AD, CINSIYET, ISLEMSAYI FROM HASTA WHERE HS_KEY=8 OR HS_KEY=12

HS_KEY HS_AD CINSIYET ISLEMSAYI
8 OZCAN E 2
12 KADİR E 1




’Cahilin KArşısında Kitap Gibi Sessiz Ol..


TÜRK’e düşman olanlar
Ben diyorumki TÜRK’e düşman olmayın
Dost olunki canınız sağolsun
Aksi halde Fırtına olur
Üzerinize eserim
Yok eder geçer giderim..
10-02-2008 12:01:53 PM
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği mesajları bul Bu mesajı bir cevapta alıntı yap
Mesaj Önizleme  Konuyu Gönder 

Yazdırılabilir Bir Versiyona Bak
Bu Konuyu Bir Arkadaşına Gönder
Bu Konuya Abone Ol | Konuyu Favorilerine Ekle

Foruma Git: