• 05-08-2007, 22:58:58
    #1
    BASKENTSECRET DİYE BİR VERİ TABANIMIZ OLSUN . BU VERİTABANIMIZDA AŞAĞIDAKİ GİBİ TABLOLAR BULUNMAKTADIR.

    +---------+----------+--------+---------+
    |muhasebe | personel | icerik | urunler |
    +---------+----------+--------+---------+


    PERSONEL TABLOSUNU İNCELEMEYE ALALIM.


    personel in içeriğinde aşağıdakiler olsun :

    +-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
    |--------------------------------------------|personel|--------------------------------------------|
    +-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
    |perno| adı | yas | soyadi | adres |departman |memleket |cinsiyet|giris |medeni |
    +-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
    |56 | Nurettin | 46 | Yaman |kızılay |Bilgi İşlem|bolu |e |01.01.2003|bekar |
    |45 | secret | 26 | üstün |yenimahalle |mutfak |diyarbakır|b |01.04.2005|bekar |
    |67 | fatoş | 26 | asd |siteler |seslendirme|manisa |b |08.01.2007|evli |
    |23 | eren | 45 | yalçın |kızılay |pazarlama |yozgat |e |16.10.2002|evli |
    |13 | yasin | 18 | velioğlu |siirt |bilgi işlem|şırnak |e |24.12.2003|evli |
    +-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|

    myhasebe nin içeriğide aşağıdakiler olsun. :
    +-----------+--------+-----------+-------------+
    |------------------|muhasebe|------------------|
    +-----------+--------+-----------+-------------+
    |persicilno | maas | sigorta | kesinti |
    |56 | 300 | 27 | 15 |
    +-----------+--------+-----------+-------------+



    ================================================== =========
    personel tablosunu listelemek istersek 2 yöntem wardır :

    SELECT*FROM personel
    SELECT perno,adi,soyadi,adres FROM personel

    diyelim listemizi alfabedik sıralı istersek :
    SELECT adi,soyadi,FROM personel ORDER BY adi ASC // ASC YERİNE DESC KOYARSAK TERSTEN SIRALAR.

    ////////////////////////////////////////////////////////////////
    şart komutu :
    WHERE ( ŞART KOMUTU )

    SELECT perno,adi,soyadi,adres FROM personel WHERE adi='nuri'


    yaşı 40 dan bykleri getirmek :
    SELECT perno,adi,soyadi,yas,FROM personel WHERE yas>40


    200 ytl den fazla maas alan kisileri ödenen sigorta miktarına göre sıralayan sql koMutu :
    SELECT maas FROM muhasebe WHERE maas>200 ORDER BY sigorta ASC



    yaman ailesinden olan çalışanları yaşlıdan gence göre sıralayan sql komut :
    SELECT perno,adi,soyadi,yas,adres FROM personel WHERE soyadi="YAMAN" ORDER BY yas DESC




    ///////////////////////////////////////////////////////////////////
    iki veri arasında
    BETWEEN (arasında komutu)
    SELECT persicilno FROM muhasebe WHERE maas BETWEEN 200 AND 300


    18 yaşından büyük , 30 yaşını açmamış personellerimizin adını ve soyadını görüntüleyen sql komutu :
    SELECT adi,soyadi, FROM personel WHERE yas BETWEEN 18 AND 30




    /////////////////////////////
    belirli şartların içerisinde olması
    IN (belirli şartların içerisinde yer alması)
    örneğin sitelerde yenimallede ve sitelerde oturanların listesini almak istersek
    SELECT adi,soyadi FROM personel WHERE adres IN ('kızılay','yenihalle','siteler')

    mutfakta pazarlamada ve seslendirmede çalışanalr
    SELECT adi,soyadi FROM personel WHERE departman IN ('mutfak','pazarlama','seslendirme')



    /////////////////////////////
    LIKE ( arama komutu )
    ADRESİNİN SONUNDA KIZIALY YAZNALAR
    SELECT adi,soyadi FROM personel WHERE adres LIKE '%kızılay'



    ///////////////////////////////
    veri tabanına veri eklemek
    INSERT INTO (veri eklemek)

    INSERT INTO tablo adı VALUES (alan1 değeri,alan2 degeri,.....)

    personel tablosuna sicil numarası 12 ismi recai soyadı demir yaşı 34 adresi batıeknt departmanı bilgi işelm olan kayıt eklemk
    INSERT INTO personel VALUES (12,'recai','demir',34,'batıkent','bilgi işlem')


    ///////////////////////////////
    ilişkisel tablolarla çalışmak
    HANGİ personelin ne kadar maaş aldığını ad soyad maaş ve sigorta bilgilerini gösteren program
    SELECT adi, soyadi, maas, sigorta FROM personel,muhasebe WHERE perno=persicilno



    kızılayda oturan yozgat doğumlu personelin ne kadar maaş aldığını gösteren sql komutu
    SELECT adi,soyadi,maas FROM personel,muhasebe WHERE memleket='yazgat' AND LIKE '%kızılay%' AND perno=persicilno


    bilgi işlem departmanında çalışan personelin adını soyadını maaşını getiren komut
    SELECT adi,soyadi,maas FROM personel,muhasebe WHERE departman="bilgi islem" AND perno=persicilno


    40 yaşından küçük bilgi işlem veya pazarlama bölümünde çalışan erkek, 200 milyondan fazla maaş alan yozgat doğumlu kızılayda oturan 5 yıldan fazla şirketimizde çalışan bekar ve maaşına on milyondan fazla kesinti yapılan personelerin adını soyadını getiren sql komutu
    SELECT adi,soyadi FROM personel,muhasebe WHERE yas<40 AND departman IN ('bilgi işlem','pazarlama') AND cinsiyet='e' AND maas>200 AND memeleket ='yozgat' AND adres LIKE "%kızılay%' AND giris>'12.07.2002' AND medeni='bekar' AND kesinti>10 AND perno=persicilno


    ///////////////////////////////
    tablodan kayıt silmek
    DELETE FROM (tablodan kayıt silmek)
    DELETE FROM personel // komple siler.

    PERSONEL numarası 12 olan kayıdı silen program
    DELETE FROM personel WHERE perno=12



    şirkette 5 yıldan fazla çalışan işçileri silen program
    DELETE FROM personel WHERE giris>'12.07.2002


    //////////////////////////////////
    veri güncelleme komutu

    UPDATE (veri güncelleme)

    UPDATE tabloadı SET alanadı1='deger1',alanadı2='deger2'alanadı3='deger 3'....



    bütün personelin maaşına 20 ytl kesinti uyguluyoruz.
    UPDATE muhasebe SET kesinti=20



    btn personelin maaşına % 20 zam yapalım .
    UPDATE muhasebe SET maas=maas*1.20


    personel sicil nosu 56 olan kaydın ikametgah ı değişmiş. sincan 5. cad no 3 olmuş .
    UPDATE personel SET adres='sincam 5.cad. no3' WHERE perno=56



    ////////////////////////////////
    maximum fonksiyonu
    en büyük değer.

    MAX (EN BÜYÜK değer)


    en fazla maaşın ne kdr olduğunu öğrenmek istiyorum
    SELECT MAX(maas) from muhasebe



    MIN (EN DÜŞÜKJ DEĞER)
    SELECT MIN(maas) from muhasebe



    //////////////////////////////
    TOPLAM DEĞER
    SUM (TOPLAM DEĞER)

    toplam verilen maas
    SELECT SUM(maas) FROM muhasebe





    /////////////////////////////
    AVG (ORTALAMA)

    ortalama verdiğimiz maaş.
    SELECT AVG(maas) FROM muhasebe




    ///////////////////////////
    kayıt sayısı
    COUNT


    KAÇ TANE PERSONEL çalıştııroyuz

    SELECT COUNT(*) FROM personel





    SELECT (DISTICT kolon adı)
    kaç farklı aileye mensup çalışanımız war.
    SELECT COUNT (DISTINCT) FROM personel
    //////////////////////////////


    kaynak :
    Sql Öğreniyoruz ... : Başkent Üniversitesi Öğrenci Sitesi
  • 19-02-2008, 07:45:17
    #2
    Üyeliği durduruldu
    Güzel bilgiler paylaşım için tşkler....
  • 23-03-2008, 15:06:02
    #3
    Süper bir paylaşım..

    Devamını bekliyorum dostum , rep'ini gönderdim
  • 03-04-2008, 16:15:41
    #4
    tşkler saol...güzel döküman olmuş...
  • 11-04-2008, 13:52:37
    #5
    önmüzdeki dönemlerde devamını yazarız inşşlh
    faydalı olduysa ne mutlu bana
  • 11-04-2008, 14:22:09
    #6
    bunları zamanında çok iyi biliyordum ama uzun süre ayrı kaldığım için unutmuştum hatırlattığın için sağol
  • 26-09-2009, 17:17:17
    #7
    çok güzel bi paylaşım sağolun.
  • 11-10-2009, 19:44:46
    #8
    saolasın kardeş
  • 11-10-2009, 19:51:06
    #9
    Üyeliği durduruldu
    Php'yi öğreniyim sonra Sql geçcem.