1 | Facebook ile Bağlan | Twitter ile Bağlan | Google+ ile Bağlan



Access'te SQL Kullanımı
« Önceki | Sonraki »
Gösterim: 3058
Cevaplar: 5
Değerlendir:
  • 0 Oy - 0 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5
Konuyu görüntüleyenler: 2 Misafir
mehmetdemiral
.
Dışarıda
Uzman
4,470
202
29/10/2008
1704
Mehmet Demiral
Samsun, Turkey
Ofis 2013 Tr. 32 Bit
Dün,23:00
#1
ACCESS’TE SQL

[Resim: vo06ck.jpg]
Veritabanı penceresinde Sorgu sayfasında yeni bir Sorgu oluşturalım. Sorguyu açtıktan sonra çıkan tablo seçme formundan sorgulamak istediğimiz tabloyu seçelim. (Yeni bir dosyada çalışıyorsanız, tabii ki önce bir tablo oluşturmalısınız.) Karşımıza, adının sonundaki sıfatı fazlasıyla hakeden Sorgu Sihirbazı çıktı.
Ben Kisiler tablosunu seçtim. Şimdi yukarıda öğrendiğimiz Sql kodlarını ilk olarak burada deneyebiliriz. Görünüm menüsünden Sql Görünümü’nü seçin.

Bende "SELECT FROM Kisiler;" görünüyor. Bunu, öğrendiğimiz kurallara uyarak;
SELECT Ad, Soyad
FROM Kisiler
WHERE Ad="Ahmet"
olarak değiştiriyorum. Görünüm menüsünden Tasarım’a geçtiğimizde nasıl bir görüntü oluştuğuna bakınız.
[Resim: 3531gsn.jpg]

SELECT kısmında * işareti de kullanabilirdik. Şöyle bir ayrıntıyı hatırlatmalıyım burada ki, bazı durumlarda tasarım görünümünde bütün alanlar olmamasına rağmen sorguyu çalıştırınca bütün alanlar listelenebiliyor. Bu, sorguların bütün alanları gösterme özelliğinin aktif olmasından dolayıdır. Görünüm menüsündeki Özellikler komutundan çıkan pencerede "Tüm Alanları Göster" (Output All Fields) kısmındaki değeri NO yaparsanız sadece sizin seçtiğiniz alanlar listelenecektir.

[Resim: jikh9x.jpg]

Üçüncü örneğimizde Ad, Soyad, No, soyad, Ad alanları seçilmiş.
SELECT Ad, Soyad, [No]
FROM Kisiler
WHERE ( ([No])<100) AND (Soyad) Like "A*") )
ORDER BY Soyad DESC, Ad;

Bu metinle resmi birleştirelim:
1. No alanının parantez içine alınmasının sebebi "NO"nun özel bir kelime olup yorumlayıcı tarafından "Hayır" anlamında anlaşılmamasıdır.
2. En sağdaki Soyad ve Ad alanlarının ikinci kez kullanılmasının sebebi sıralamayı sütunların sıralanmasından farklı yapabilmek için. Yani önce Ad’a sonra Soyad’ göre sıralamak isteseydik baştaki Ad ve Soyad alanlarında sıralama seçerdik. Ama biz önce Soyad’ı istediğimiz için son tarafa bunları koyup Göster (Show) işaretini kaldırdık. (Aynı şeyi 2. soyad alanını birincinin olduğu yere taşıyarak da yapabilirdik. Zira, hem ORDER BY hem de SELECT için seçili alanların sırası aynı olacak.)
3. Sadece Göster (Show) değeri işaretli olan alanlar görüntülenir. Bunlar SELECT kısmına dahil edilir. (Tüm alanları gösterme özelliği kapalıysa tabii.)
4. Dördüncü sütundaki LIKE cümleciğini No alanınkinden alt satırda kullanmamızın sebebi VEYA sorgusu elde edebilmek. Yani " NO<100 OR SOYAD LIKE ‘A*’ " gibi. İkisini aynı satırda kullanırsak VE sorgusu elde ederiz ki, bu, cümlemizdeki "OR"un "AND"a dönüşeceği anlamına gelir.
Bu tasarım modunda ne kadar karışık ya da sade yaparsak yapalım Access evirip çevirip kendi bildiği gibi bir Sql kodu üretecektir.

SELECT Kisiler.Ad, Kisiler.Soyad, Kisiler.[No], *
FROM Kisiler
WHERE (((Kisiler.[No])<100)) OR (((Kisiler.Soyad) Like "A*"))
ORDER BY Kisiler.Soyad DESC , Kisiler.Ad;
Beşinci madde olarak da şunu ekleyeyim o zaman: Alan isimlerinin başına tablonun ismi yazılabilir. Bu, birden çok sayıda kullanılan tabloların olduğu sorgularda daha işe yarar olur.

HERKES İÇİN SORGULAR GRUPLAYARAK TOPLAMLAR ALMAK
Sorgularla ilgili en çok sorulan sorulardan biri gruplamalar hakkında.
o Her ürün ana grubunun içinde kaç adet ürün var?
o Her güne ait toplam satış tutarını nasıl hesaplayacağım?
Yukarıdakiler gibi sorularınız varsa GROUP BY deyimini kullanmanız gerekiyor demektir. Bunu en kolay yapabileceğimiz yer Access'teki Query Builder.
Yeni bir Query (Sorgu) oluşturup içine Kitaplar tablosunu ekleyin. Veri alanlarını alttaki sütunlara yerleştirip View > Totals (Görünüm > Toplamlar) menüsünü seçin ve Query1 resmindeki gibi sorguyu düzenleyin.

Bu haliyle sadece grup adını ve o grupta kaç kitap olduğunu bulmuş oluyoruz. Geçen aylarda bahsettiğimiz UNION sorgu türü ile toplam kitap adedini de bu sorguya dahil edelim.
SELECT GrupAdi, Adet
FROM
(
SELECT Grup as GrupAdi,
COUNT(Grup) AS Adet, 0 AS Sira
FROM Kitaplar
GROUP BY Grup
UNION
SELECT "(TOPLAM)" as GrupAdi,
COUNT(ID) as Adet, 1 AS Sira
FROM Kitaplar
)
AS Liste
ORDER BY Sira, Adet DESC;
Query2 resminde gördüğünüz gibi her bir grup adını ve içinde kaç adet kitap olduğunu listelemekle beraber en altta da toplam kitap adını göstermiş oluyoruz.
Sorguda kullandığımız Sira adlı alan UNION sorgu içindeki farklı iki kümeyi birbirinden ayırmak içindi. İlk kümeyi 0, ikincisini de 1 yapıp bu alanı en altta ORDER BY içine yerleştirmek yeterli oluyor.
Genel olarak adet bulma işlemleri için COUNT deyimini kullanmalısınız. Toplam hesaplamak için ise SUM deyimi kullanılıyor. AVG, MIN, MAX, STDEV, FIST, LAST gibi deyimlerle de ortalama, en küçük, en büyük, standart sapma, ilk, son gibi değerleri elde edebilirsiniz.
İnadına, ille de Accesstr.net...


benremix
Uzman
Dışarıda
Uzman
4,417
126
17/05/2009
360
Raci Soylu
Ankara
Ofis 2010
Bugün,05:36
#2
Eline sağlık hocam.

Saygılar....
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi




lifeexciting
Onursal Üye
Dışarıda
Onursal Üye
838
52
28/12/2009
361

Ankara
Ofis 2013 İng. 64 Bit
30/11/2014,20:43
#3
Paylaşım İçin Teşekkürler,Elinize Sağlık Hocam.


DUAYEN
Onursal Üye
Dışarıda
Onursal Üye
1,026
71
13/08/2010
270
Süleyman Arslan
Yozgat
Ofis 2007
27/11/2014,21:36
#4
Teşekkürler hocam eline sağlık.
Bizim için zor diye bir şey yoktur, imkansızsa zaman alır...


ozanakkaya
sledgeab
Dışarıda
Kurucu
7,354
411
29/10/2008
2025
Ozan Akkaya
Denizli
Ofis 2010
Bugün,00:40
#5
Teşekkürler Mehmet hocam,


assenucler
Onursal Üye
Dışarıda
Onursal Üye
2,050
124
31/10/2008
57
A. Selim Şenüçler
İstanbul
Ofis 2013 Tr. 32 Bit
26/03/2015,18:07
#6
Sayın MehmetDemiral,

Emek ve paylaşımınız için teşekkürler.

İyi bayramlar..





Access'te SQL Kullanımı Konusuna Ait Konu Araçları
 Etiketler
 Direk Link
 HTML Link
 BBCode Link
 Sosyal Paylaş

Benzeyen Konular
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  sql kullanımı için yardım cimbomasil 3 1,170 08/03/2010, 09:08
Son Mesaj: cimbomasil
  Sql Enterprise Menager ve kullanımı ile ilgili 3 döküman mehmetdemiral 6 1,586 31/08/2009, 09:40
Son Mesaj: makcavus

Foruma atla:

Konuyu görüntüleyenler: 2 Misafir
Bunlar da ilginizi çekebilir!


Cazip Fikirler | Web Design Bodrum | BodrumBilisim.com | Zumrut.Org | Hepimiz Biriz | Site Ekle
Türkçe Çeviri: MyBB Türkiye
Üretici: MyBB, © 2002-2015 MyBB Group.
MyTrade theme by XSTYLED © 2014.
This forum uses Lukasz Tkacz MyBB addons.