Mysql Sorgu Örnekleri (Select, İnsert into, Update, Delete, Count, Sum, Like)
Web işleri nankördür, derdi bir hocam, bugün gözün kapalı yazdığın kodu yeri gelir saatlerce yazsan da çalıştıramazsın derdi. Zaman geçtikten sonra piyasaya dahil olduktan sonra anlıyor insan öğrendiklerini geliştirmesi gerektiğini.. Şimdilerde yeni webmasterların da kullanabileceği kodları paylaşacağım sorgu yazımında ki hatalarınızı kontrol edebilirsiniz..
NOTLAR 2013 YILINDAN KALDIĞI İÇİN ACCESS VERİTABANINDA YAZILMIŞTIR FAKAT MYSQL SORGULARI AYNIDIR.
Mysql Sorgu Örnekleri (Select, İnsert into, Update, Delete, Count, Sum, Like)
SEÇME SORGULARI (SELECT) KULLANIMI
select <gösterilecek alan> from <tablo ismi>
where <şart>
-
Şirkette çalışan personellerin tamamını listeleyen sorguyu yazınız.
select * from tbl_Personel
-
Şirkette çalışan kişilerin ad soyad ve maaşlarını listeleyen sorgu
select Personel_Adi, Personel_Soyadi, Personel_Maas from tbl_Personel
-
Şirkette çalışan Avcılarda oturan Personellerin ad ve Adreslerini listeleyiniz
select Personel_Adi, Personel_Adresi from tbl_Personel where Personel_Adresi=”Avcılar”
-
Şirketteki Bayan personellerin Ad ve Maaşlarını listeleyiniz.
select Personel_Adi, Personel_Maas from tbl_Personel
where Personel_Cinsiyet=false
-
Doğum tarihi belli olmayan personelleri listeleyiniz
select * from tbl_Personel where Personel_DogTar is null
-
Muhasebede çalışan bayan personelin adı ve soyadı
select Personel_Adi, Personel_Soyadi from tbl_Personel where Personel_Departman=”Muhasebe” and Personel_Cinsiyet=false
-
Maaşı 1500 ile 2500 arasında olan Reklam departmanında çalışan personellerin adi, soyadi, maaşı ve departmanını listeleyiniz.
select Personel_Adi, Personel_Soyadi, Personel_Maas, Personel_Departman from tbl_Personel where Personel_Maas>=1500 And Personel_Maas<=2500 And Personel_Departman =”Reklam”
-
Adresi A ile başlayan Personeller
select * from tbl_Personel where Personel_Adresi like “A*”
-
Adresi 3 karakter olup son harfi a ile biten ilçelerde oturan personelin adı soyadı ve Adresini listeleyiniz.
select Personel_Adi, Personel_Soyadi, Personel_Adresi from tbl_Personel where Personel_Adresi like “??a”
Personel Tablosu İlişkisel veri tabanı gereği (Tekrar eden metin alanları, Personel_Departman ve Öğrenim durumları için ayrı tablolara ayrılmıştır.
-
Web departmanında çalışan personellerin tüm bilgileri
select * from tbl_Personel where Departman_No=( select Departman_Id from tbl_Departman where Departman_Adi=”Web”)
-
Lisans eğitimine sahip Webde çalışan Personelin Adi Soyadi
select Personel_Adi, Personel_Soyadi from tbl_Personel where Departman_No=(select Departman_Id from tbl_Departman where Departman_Adi=”Web”) and OgrenimDurumu_No=(select OgrenimDurumu_Id from tbl_OgrenimDurumu where OgrenimDurumu_Adi=”Lisans”)
-
Personel Maaşlarını küçükten büyüğe doğru sıralayınız.(a-z)
select Personel_Maas from tbl_Personel order by Personel_Maas
-
Personel Maaşlarını büyükten küçüğe doğru sıralayınız.(z-a)
select Personel_Maas from tbl_Personel order by Personel_Maas desc
-
Personel Adlarını maaş büyüklük sırasına göre sıralayınız.
select Personel_Adi from tbl_Personel order by Personel_Maas desc
-
Personel isimlerini ve Çalıştıkları departmanları listeleyiniz.
select Personel_Adi, Departman_Adi from tbl_Personel, tbl_Departman where Departman_No=Departman_Id
-
Personel isimleri Çalıştıkları departmanlar ve Öğrenim bilgilerini listeleyiniz
select Personel_Adi, Departman_Adi, Ogrenimdurumu_Adi from tbl_Personel, tbl_Departman, tbl_Ogrenimdurumu where Departman_No=Departman_Id and Ogrenimdurumu_No=Ogrenimdurumu_Id
-
Toplam kaç personel vardır?
select count(*) from tbl_Personel
select count(Personel_Id) from tbl_Personel
-
Avcılarda oturan personel sayısı
select count(*) from tbl_Personel where Personel_Adresi=”Avcılar”
-
İlçelerde oturan personel sayıları
select Personel_Adresi, count(*) as Psayisi from tbl_Personel group by Personel_Adresi
-
Personellerin isimlerini ve yaşlarını listeleyiniz.
select Personel_Adi,year(now)-Personel_Dogtar as Yas from tbl_Personel
-
En yaşlı personelin Adı Soyadı, yaşı Departmanı ve Öğrenim durumunu gösteren sorgu
select Personel_Adi, Personel_Soyadi, year(now())-Personel_Dogtar as Yaş,Departman_Adi, OgrenimDurumu_Adi from tbl_Personel, tbl_Departman, tbl_OgrenimDurumu where Personel_Dogtar=(select min(Personel_Dogtar) from tbl_Personel) and Departman_No=Departman_Id and OgrenimDurumu_No=OgrenimDurumu_Id
-
Ödenen toplam maaş
Select sum(Personel_Maas) from tbl_Personel
-
En yüksek maaaş
Select max(Personel_Maas) from tbl_Personel
-
En düşük maaş
Select min(Personel_Maas) from tbl_Personel
-
Ortalama Maaş
Select avg (Personel_Maas) from tbl_Personel
-
Reklam departmanında çalışan personellerin ad , soyad ları.
Select Personel_Adi, Personel_Soyadi from tbl_Personel where Departman_No=(select Departman_Id from tbl_Departman where Departman_Adi=”Reklam”)
-
Serhat Pehlivan ın Çalıştığı departmanın adı nedir? Sorguyu yazınız.
select Departman_Adi from tbl_Departman where Departman_Id=(select Departman_No from tbl_Personel where Personel_Adi=”Serhat” and Personel_Soyadi=”Pehlivan “)
-
Kaç tane Doktora personeli vardır?
select count(*) from tbl_Personel where OgrenimDurumu_No=(select OgrenimDurumu_Id from tbl_OgrenimDurumu where OgrenimDurumu_Adi=”Doktora”)
EKLEME SORGULARI (INSERT INTO) KULLANIMI
İnsert into <tablo adı> (Eklenecek Alan isimleri Alan1, Alan2,,,,) values (veri1,veri2,,,)
-
Departman Tablosuna “İnsan Kaynakları” Departmanını Ekleyiniz
insert into tbl_Departman(Departman_Adi) values (“İnsan Kaynakları”)
-
Departman tablosuna ARGE departmanını ekleyiniz.
insert into tbl_Departman(Departman_Adi) values (“ARGE”)
Mert Can İlter avcılar 2122121212 3500 1988 erkek 01.01.2005 Arge Lisans bilgilerini ekleyiniz.
insert into tbl_Personel(Personel_Adi,Personel_Soyadi,Personel_Adresi,Personel_Tel,Personel_Maas,Personel_DogTar,Personel_Cinsiyet,Personel_Baslangic,Departman_No,Ogrenimdurumu_No) values (“Mert Can”,”İlter”,”Avcılar”,”2122121212″,3500,1988,”1″,”01.01.2005″,6,1)
YUKARIDAKİ KODLAR 2 RESİME ENTEGRE OLARAK YAZILMIŞ SORGULARDIR.
BUNDAN SONRA YAZACAĞIM SORGULAR YUKARIDAKİ YAZILARDAN BAĞIMSIZDIR..
GROUP BY
Adrese göre personel sayılarını gösteren sorgu
– select Personel_Adres,count(*) from tbl_Personel group by Personel_Adres
Not: Group by fonksiyonu belirtilen alana göre kümeleme yapar. Küme başlığını group by dan sonra yazılan alanın verileri oluşturur. içeriği ise küme başlık alanını bulunduran veriler oluşturur.
AVG
Çalışan personelin yaş ortalamasını bulan sorgu
select Avg(2013-Personel_DYili) from tbl_Personel
Not: Avg fonksiyonu belirtilen alanın ortalamasını alır.
yukarıdaki sorgu 2013 yılı için doğru çalışırken 2014 yılında 2013 e göre hesap yapacağından dolayı hatalı olacaktır. bu hatayı kaldırmak için sorgu
select Avg(Year(Now)-Personel_DYili) from tbl_Personel
şeklinde yazılır. NOW ifades o anki tarih ve saati verir. YEAR ifadesi ise o tarihten yılı çeker.
SUM
1 ay içerisinde personele ödediğim toplam maaş.
select Sum(Personel_Maas) from tbl_Personel
Not: Sum toplama işlemi yapan fonksiyondur. toplanacak alan () içerisine yazılır. () içerisine yazılan alanın veri türü sayı olmalıdır.
INSERT INTO
Veri Ekleme
insert into tbl_araba (Model_No,Araba_Fiyat,Araba_ModelYili,Araba_MotorHacim,Vites_No,Yakıt_No,Renk_No,Kasa_No) values (8,48000,2013,1800,1,2,4,4)
DELETE
Veri Silme
delete from tbl_model where model_ID=12