Category : SQL

Written on Apr, 11, 2021 by in , | Leave a comment

Aşağıdaki resimde görüldüğü gibi; elimizde STN1 ve STN2 bazlı unique(tekil) veri var. 3. sütunu siz oluşturup dolduracaksınız. STN1 bazlı, minimum STN2 değerini ilk satıra, maksimum STN2 değerini son satıra yazacaksınız, aradaki kısım NULL olacak. As you see at the screenshot below, data is unique according to STN1 and STN2. You will calculate the STN3 column. STN3 will be filled with …

Continue Reading...
Written on Mar, 20, 2021 by in | Leave a comment

Database’deki bir tablosundan, SQL ile HTML tablo kodu üretiniz. Kaynak verisetini, istenen görüntüyü, istenen html kod blogunu compact ve açık halini aşağıda bulabilirsiniz. HTML kodunun formatında özgürsünüz. HTML kodunuzu test etmek için, HTML çıktı kodunuzu notepad’e yapıştırıp, uzantısını HTML olarak değiştirip, tarayıcıda görüntüleyin.Generate HTML table code from database table. Dataset code, expected output, expected HTML code in compact and formatted …

Continue Reading...

Jaguar araçlarının yer aldığı bir veritabanı projesi yapmak istedim. Keyfi olarak yapmaya başladığım bu veritabanı projesinde şimdilik, yıl bazlı en az yakıt tüketen ve en performanslı Jaguar marka araçlar HTML tablosu olarak listeleniyor. Aklıma geldikçe, kullanımı kolay olmayan kod ve sorguları buraya eklemeye devam edeceğim. Sayfanın en sonunda, tüm kodları paylaştım. Fikir, öneri, eleştiri, istek vs için iletişim kısmından bana …

Continue Reading...
Written on Mar, 14, 2021 by in , , | Leave a comment

Oracle veritabanında fikir vermesi açısından örnek bir trigger paylaşmak istedim. Trigger’ın amacı; tabloya yeni kayıt insert edilmeden önce, karakter alanındaki string’in ilk harf’ini INITCAP fonksiyonu ile büyük harf yapmak. ( insert sonrası kontrol edilip, update de yapılabilir ama performans açısından hatalı bir yaklaşım olur.) Örnek kullanım için tbl_trigger_ornek isminde bir tablo oluşturdum. Insert edileceği değeri :NEW.ack ile elde edip, built-in …

Continue Reading...
Written on Mar, 14, 2021 by in | Leave a comment

Oracle’da otomatik olarak Primary Key ( Birincil Anahtar ) oluşturmak için Sequence objesinden faydalanıyoruz. Microsoft SQL Server’daki “IDENTITY(1,1)” Oracle karşılığı Sequence’dir veya 12c ile gelen “GENERATED BY DEFAULT ON NULL AS IDENTITY” dir. 2 kullanımı da örneklerle aşağıda göstereceğim. We can use Sequence to generate Primary Key (PK) automatically. In Microsoft SQL Server “IDENTITY(1,1)” refers to Sequence or “GENERATED BY …

Continue Reading...
Written on Mar, 12, 2021 by in , | Leave a comment

Oracle’da değer alıp, hesaplama yapıp sonucu döndüren basit bir örnek vermek istedim. Amacım hem değer alan hem de bir değişken döndüren bir fonksiyonun syntax’ını göstermek. You can see the basic example below for a funciton with input and return value in Oracle. CREATE OR REPLACE FUNCTION fnc_car_hp_to_kw (v_hp IN NUMBER ) RETURN number IS v_return_value NUMBER; BEGIN v_return_value:=v_hp*0.73549875; return v_return_value; …

Continue Reading...
Written on Feb, 28, 2021 by in | Leave a comment

24 saatlik ( sütunluk) bir tablomuz var. İlk sütunda “g” bilgisi var. Belirli adet boşuk bırakılıp, tekrar “g” bilgisi ilgili sütuna yazılıyor. Bu iş rutin olarak devam ediyor. Elimizde ilk 12 saatlik ( sütunluk) bilgi var. Buna bakarak kalan sütunların datasını bizim tahmin etmemiz bekleniyor. Aşağıdaki resim üzerinden de açıklamaya çalıştım. Puzzle’ın çözülmesi için gerekli script’i aşağıda ve GitHub hesabımda …

Continue Reading...
Written on Feb, 15, 2021 by in , | Leave a comment

İlteriş Mutlu, baklava ve SQL’in birleştiği bu leziz puzzle’ı, iftiharla sunar. Elimizde şerbetli tatlı satan bir dükkanın cafe kısmındaki satışlarının olduğu tablo var. Amaç; en fazla satılan 5 ürünü tespit edip, cebinde 30 tl, 50tl, 60tl,80tl,120tl v.s. olan müşteriler için sırayla en çok satılan ürünlere göre tabak sunmaktır. Eğer 5 ürünü tabağa koyduktan sonra hala para kalmışsa, en çok satılan …

Continue Reading...
Written on Feb, 07, 2021 by in , , , , | Leave a comment

Oracle’da başlangıç ve bitiş tarihleri verip, bir loop yapmak istenirse CONNECT BY LEVEL yapısı kullanılabilir. By declaring start and end end you can make a loop with CONNECT BY LEVEL clause. DECLARE v_start DATE := TO_DATE(‘23.01.2021′,’DD.MM.YYYY’); v_end DATE := TO_DATE(‘03.02.2021′,’DD.MM.YYYY’); v_date DATE; CURSOR c_dates IS SELECT v_start+LEVEL-1 AS dates FROM sys.dual CONNECT BY LEVEL <= v_end-v_start+1; BEGIN OPEN c_dates; LOOP …

Continue Reading...
Written on Jan, 28, 2021 by in , | Leave a comment

Two tables are given as shown picture below. First columns are unique. You should join and generate target table as shown picture below. Target table must contains all data. But there is a exception. If second column (col_2) of the first table (tbl_1) is “-1”, surpluss(excess) data of second table (tbl_2) will match col_2= “-1” row. In other words, surpluss(excess) …

Continue Reading...