Kategoriler


SON YORUMLAR
dinozorunsesi
ne yapsam bilemiyorum galiba mühendis olacağım
kelmamut
tatar ramazan karı ve iş bulamayan ezik bi orosbu çocuğusun az ötede ağla derdin zengin olmaksa mühendislk değil tıp okucaktın yanlış okumuşşun karı kızsa derdin gidip pezevenklik yapacaksin mühendislikle alakası yok senin hayatın kaymış olm benim dayım bilgisayar müh kocaeli mezunu amerikada paraları götürüyo 10k dolar maaşla sen anca ağla ezik orospu çocuğu
disko_anksiyete
dalga gectigin kamyon soforleri asgari ucretin cok ustunu aliyorlar ve is bulma sorunlari yok :D aynisini yazilim sektoru ve bilgisayar muhendisligi icin soyleyebilir misin? 4 sene okuyup lisans diplomani aldiktan sonra yurtdisindaki sirketlerde calisabilecek nitelikte olmayacaksin, yurticindekiler de asgari ucretten ya da hatta staj ucretinden baslatip amina koyacaklar, haftasonunu bile sikip atacaklar :D aptal pic seni.
Eray
Java, C ve C++ dillerindeki programlama sorularının çözümlerinde ve projelerinde hızlı ve nitelikli bir şekilde yardımcı olabilirim. Projenin başarılı bir şekilde çalışacağını garanti ederim.
Eray
AA ile geçtiğim ve sizin de yüksek notlar alacağınızı garanti ettiğim programlama dersleri için JAVA, C ve C++ programlama dillerinde özel ders verebilirim. Aynı zamanda lablarınıza, ödevlerinize hazırlanmanız için örnekler çözüp online eğitim sürecinde size destek olabilirim. Whatsapp: 05424280350
Çınar Kılınç
Ufhgry
kamyoncu bilgisayar mühendisi
@disko_anksiyete ben bu yorumdan sonra kamyon şoförlüğüne başladım arkadaşlar hakkınızı helal edin...:(
siber
hocam şu yorum sistemine bi authentication ekleyin ya da onay sürecinden geçsin bali, nokta diye mesaj atan var, 100 kere reklam veren var.
someone
Kısa ve öz bir yazı olmuş.Bunun avantajı ise az çok kafasında soru işareti bulunan birisi uzun uzadıya giden yazılarla vakit kaybetmeden hızlı bir şekilde sorularına yanıt bulabilir.Teşekkürler.
disko_anksiyete
Tatar Ramazan her açıdan haklı, sizi çıldırtan da bu sanırım. Ülkede 1 yılda bu sektörde kaç tane önlisans ve lisans mezunu çıktığını hesaplayın. Piyasadaki iş ilanlarına göz atın, 30 tane teknoloji bilen insan üstü programcı arayan gerçekçilikten uzak ilanlara bile 5.000 üzeri insan başvuruyor çaresizlikten, işsizlikten ve yeteneklerini, bilgisini değerlendirebilme ümidi ile. Ve çalıştıkları maaşlar hakkındaki bilgiyi de zaten devletin belirlediği minimum mühendis maaşına göz atarak aşağı yukarı anlayabilirsiniz, iddialı ya da hayat idame ettirecek sayılarda maaşlar kesinlikle verilmiyor. "Ben girişimci olurum, hayalimdeki uygulamayı yapacğaım ve milyonlar kazanacağım görürsünüz ulan!" fikrine de sıkı sıkıya bağlanmış olabilrsiniz ancak, görmüş olduğunuz o popüler uygulamalar ve getirileri absürt derecede nadir ihtimallere dayalı Yemeksepeti.ni, getir.i görüp gaza gelip kendi milyon dolarlık uygulamanızı yapabileceğiniz olası gelebilir ancak, peki yıllar boyu üstünde çalışılıp kimsenin kullanmadığı uygulamalar, biten kariyerler, batan start-up.lar, edilen intiharlar? Yurtdışına gitmeyi de unutun. Yurtdışındaki eğitim standartları ve mühendis standartları ülkemizdeki ile kıyaslanamaz bile. Bize 4 yılda öğretilmeyen, hatta adı bile sunulmayan teknolojileri adamlar 1 sömestırda uygulamalı öğreniyor. Yani hiçbir Avrupa firmasının, 3. dünya ülkesindeki bilmemne üniversitesinden mezun bir mühendise ihtiyacı yok, ki ihtiyaçlarını karşılayamacağınızdan da eminim. Burada gelip yazılımcı maaşını savunanlar ya tuzu kuru, torpilli orospu evlatlarıdır, hani var ya o görmüş olduğunuz kullanmış olduğunuz bozuk sikten uygulamaları ve siteleri geliştiren eğitimsiz şempanzeler ordusu, heh onlar. Ya da, daha üniversite öğrencisi olup beyni yıkanmış, hayatında bu meslekten 5 kuruş kazanmamış ama bir anda milyonlar kazanacağı ıslak rüyasını aklından bir anlığına ayırmayan embesil Türk üniversite öğrencileridir. Sektör zor, yeteri kadar ödüllendirici değil hatta iş bile bulunamıyor şu an bulunduğumuz noktada. "Kendini geliştir" diyen sakatlar için de, ileri düzey İngilizce bilen ve nesne tabanlı programlama dillerinde (Java, C#) çeşitli alanlarda çalışmış birisi olarak (game development, desktop app development) bunları yaşadım, bunları savunuyorum. Aksini savunuyorsan bırak bakalım Linkedin profilini de başarılı bilişimci görüp feyz alalım değil mi? İşkembeden herkes sallar, herkesin kafasında bir kariyer planı vardır. Önemli olan gerçekleri hayallerden ayırt edebilmek. Ne kadar para kazanmaya istekli olduğunuz inanın, hiç sikimde değil. Aldığını sanmış olduğunuz eğitim de sizi zorluyor olabilir ama kafanızı kumdan çıkartıp globalde yapılan işlere, global kalitede programcılara göz atın. Sonra da siktirin gidin.
ramazansavar
ya ramazan ne 10 programı biliyon da kim seni takmıyor, detaylı açıkla bakalım.
Tatar Ramazan
Zavallı mühendisler en zavallıları da sizsiniz. Eniştem muhasebecikilten sigortacılıktan bi ton para kazanıyor siz 8-10 bin tl.ye talim ediyorusunuz. O da canınızı çıkartıyorlar. Müdürler bağırıp çağırıyor size. Millet tatil yerlerinde bahşişlerle iyi para kazanıyor karılarla alem yapıyor. Adam ev aldı karı aldı antalyada. Siz de firmalara eşeklik yapın. Stres sıkıntı çekin. Bi bok yok bu meslekte mezun olunca görürsünüz. 12 yıl deneyimliyim. 10 teknoloji biliyorum 10 bin tl bile vermiyorlar. Lanetli bilişim sektörü. Adaletsizlik saçmalık sıkıntı had safhada. Yazacam madde madde hepsini bekleyin.
Tatar Ramazan
Zavallı mühendisler en zavallıları da sizsiniz. Eniştem muhasebecikilten sigortacılıktan bi ton para kazanıyor siz 8-10 bin tl.ye talim ediyorusunuz. O da canınızı çıkartıyorlar. Müdürler bağırıp çağırıyor size. Millet tatil yerlerinde bahşişlerle iyi para kazanıyor karılarla alem yapıyor. Adam ev aldı karı aldı antalyada. Siz de firmalara eşeklik yapın. Stres sıkıntı çekin. Bi bok yok bu meslekte mezun olunca görürsünüz. 12 yıl deneyimliyim. 10 teknoloji biliyorum 10 bin tl bile vermiyorlar. Lanetli bilişim sektörü. Adaletsizlik saçmalık sıkıntı had safhada. Yazacam madde madde hepsini bekleyin.
EsMer
Bence çok mantikli.

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Transact-SQL - T-SQL - SQL NEDİR?
C#: Nitelikleri Kavramak (Attributes)
İş bulmak üzerine
Amerika tartışıyor. Programlama dersleri ne zaman başlamalı?
Bilgisayar Mühendisi olacaklara üniversite seçme rehberi?
Bilgisayar Mühendisliği ÖSS Taban Puanları 2009
Java'nın kurucusu Google'a transfer oldu
IP SINIFLARI
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
ORACLE - Lutz Hartmann 14-15 Mayısda Istanbul’da
Kredi Kartı Numarası Doğrulama- Lhun algoritması
Kısa sorular Kısa Cevaplar - 2
Online Java Dersleri - Polimorfizm
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Para ile ödev yapmak üzerine
Askerlik ve Bilgisayar Mühendisliği
ASP .NET - The TextBox Control
Askerlik ve Bilgisayar Mühendisliği

Bilgisayar Mühendisleri Portalı

Transact-SQL - T-SQL - SQL NEDİR?

SQL NEDİR?
SQL, İngilizce adıyla “Structured Query Language” (Yapılandırılmış Sorgulama Dili) bir veri tabanı sorgulama dilidir. SQL ile veri tabanına yeni tablolar, kayıtlar ekleyip silebilir, mevcut veriler üzerinde düzenlemeler ve sorgular yapılabilir. SQL ile ORACLE, db2, Sybase, Informix, MS SQL Server, MS Access gibi veri tabanı yönetim sistemlerinde çalışılabilir. SQL, standart bir veri tabanı sorgu dilidir, bütün gelişmiş veri tabanı uygulamalarında kullanılır.
 
Transact-SQL (T-SQL)
SQL, düzeltilmesi veya değiştirilnesi istenen bilgileri açıkça belirtmeye izin veren ve yerine getirilebilecek başlıca işlemleri tanımlamamızı sağlayan bir komut takımıdır. Bu komutların oluşturduğu yapıya T-SQL dili denir. T-SQL ile veri ve sorgulara erişebilir, güncelleyebilir ve ilişkisel veri tabanı sistemi yönetilebilir. T-SQL komutları kullanım amaçlarına göre üç genel kategoriye ayrılır.
 
SQL Veri İşleme Dili (Data Manipulation Language – DML)
SQL veri işleme dili veri girmek, değiştirmek, silmek ve verileri almak için kullanılan DML komutlarının tümüdür. En sık kullanılan DML komutları ve kullanım amaçları aşağıdaki gibidir:
SELECT:Veri seçmek
DELETE:Veri silmek
UPDATE:Veri güncellemek
INSERT:Veri girmek
 
SQL Veri Tanımlama Dili (Data Definition Language – DDL)
SQL Veri tanımlama dili verilerin tutulduğu nesneler olan tabloların yaratılmasını, silinmesini ve bazı temel özelliklerinin düzenlenmesini sağlar. En sık kullanılan bazı DDL komutları ve kullanım amaçları aşağıdaki gibidir:
CREATE TABLE:Yeni bir tablo yaratmak
ALTER TABLE:Tabloda değişiklik yapmak
DROP TABLE:Tabloyu silmek
CREATE INDEX:Tabloda dizin oluşturmak
 
SQL Veri Kontrol Dili (Data Control Language – DCL)
SQL veri kontrol dili bir veri tabanı kulalnıcısı veya rolü ile ilgili izinlerin düzenlenmesini sağlar. DCL komuları ve fonksiyonları şöyledir:
GRANT:Kullanıcıya yetki verir.
DENY:Kullanıcı, grup veya rolü herhangi bir eylem için eneller.
REVOKE:Daha önce atanmış olan yetki veya engeli kaldırır.
 
 
SELECT İfadesi
Select ifadesi bir tablodan verileri seçmek için kullanılır. Elde edilen veriler sonuç kümesi olarak adlandırılır ve yine bir tablo görüntüsü şeklinde görüntülenir.
 
Sentax (Söz dizimi):
SELECT <sütun adı> FROM <tablo adı>
 
Belirli Sütunların Görüntülenmesi
Çoğu durumda tablomuzda sakladığımız tüm veriyi görmektense, o an için gerekli kısmını görüntülemek isteriz. Dunun için Select ifadesinin ardında, kullanılacak sütun adları belirtilir.
 
Örnek: Northwind veri tabanındaki Employees tablosunda çalışanlar ile ilgili bilgiler saklanır. Bize personelimizin sadece telefon numaraları gerekli olduğunda aşağıdaki alanları görüntülememiz yeterlidir.
 
Sorgu:
USE Northwind
SELECT firstname, lastname, homephone FROM employees
Tüm Sütunları Görüntülemek
Bir tablodaki tüm alanları görüntülemek için ise tek tek bütun sütun adlarını belirtmekten daha kolay bir yol vardır. Select ifadesinden sonra asterix (*) işaretini yazdığımızda SQL bunu “tablodaki tüm sütunlar” olarak yorumlayacaktır.
 
Sorgu:
USE northwind
SELECT * from shippers
WHERE Yancümlesi
WHERE yancümlesi görüntülenmek istenen verilerin belirli bir kritere göre seçilmesini sağlar. Örneğin günlük satış bilgilerinin tutulduğu, yüzbin kayıttan oluşan satışlar tablosundaki sadece son 3 gün içindeki satışların görüntülenmesini sağlar.
WHERE yancümlesinin kullanımı zorunlu değildir. Fakat bir koşula bağlı verileri seçmek istediğimizde FROM yancümlesinden sonra eklenebilir.
 
Sentax:
SELECT <sütun adı> FROM <tablo adı> WHERE <koşul(lar)>
Operatörler(İşleçler)
Aşağıdaki operatörleri WHERE ifadesi ile birlikte sınanmasını istediğiniz koşulları oluştururken kullanabilirsiniz.

Operatör
İfade
=
Eşittir
<> 
Eşit değildir, farklı
Büyük
Küçük
>=
Büyük veya eşit
<=
Küçük veya eşit
BETWEEN
Arasında
LIKE
Metin arama
!=
Bazı SQL sürümlerinde <> ile aynı anlamdadır.

 
Örnek: Northwind veri tabanında Customers tablosundan, Kanada’daki müşterileri görüntülemek istediğimizde Country alanında bir koşul belirtmemiz gerekir.
 
Sorgu:
USE northwind
SELECT CustomerID, CompanyName, Country
FROM customers WHERE Country=’Canada’
 
Örnek: Birim fiyatı 20$’dan büyük olan ürünleri listelemek için Products tablosunda UnitPrice alanı için bir koşul belirtmemiz gerekir.
 
Sorgu:
USE Northwind
SELECT ProductID, ProductName, UnitPrice
FROM products WHERE UnitPrice>20
 
Örnek: 01.01.1998 tarihinden itibaren verilmiş olan siparişleri görüntüleyin.
 
Sorgu:
USE Northwind
SELECT OrderID, CustomerID, OrderData FROM Orders WHERE OrderDate>’1/1/1998’
LIKE İfadesi
LIKE kelimesi sütundaki değerlerin, joker karakter kullanılarak oluşturduğumuz bir arama koşulu ile karşılaştırılmasını sağlar.
 
Sentax:
SELECT <sütun adı> FROM <tablo adı>
WHERE <aranacak sütun> LIKE <kriter>
 

Joker Karakter
Anlamı
% (SQL Server)
Herhangi uzunlukta karakter
* (MS Access)
Herhangi uzunlukta karakter
_
Herhangi tek karakter
? (MS Access)
Herhangi bir karakter
[]
Belirtilen aralıkta herhangi bir karakter
[^]
Belirtilen aralıkta olmayan herhangi bir karakter

 
Örnek: Müşterilerimiz içerisinden ilk harfi K olanları listeleyin.
 
Sorgu:
USE northwind
SELECT * FROM Customers WHERE CustomerID LIKE ‘K%’
 
Örnek Arama Koşulları:
LIKE ‘BR%’İlk iki harfi BR olan tüm kayıtlar
LIKE ‘Br%’İlk iki harfi BR olan tüm kayıtlar
LIKE ‘%een’Son 3 harfi een olan tüm kayıtlar
LIKE ‘%en%’İçinde en ifadesi geçen tüm kayıtlar
LIKE‘_en’Son iki harfi en olan 3 harften oluşan tüm kayıtlar
LIKE‘[CK]%’C veya K harfleriyle başlayan tüm kayıtlar
LIKE‘[S-V]ing’ing ile biten ve ilk harfi S ile V harfleri arasında olan 4 harfli herhangi kelime
LIKE‘M[^c]%’M ile başlayan 2. harfi c olmayan tüm kayıtlar.
 
Örnek: firma adı içinde “restaurant” kelimesi geçen müşteriler
 
Sorgu:
USE northwind
SELECT companyname FROM customers
WHERE companyname LIKE ‘%RESTAURANT%’
 
SQL AND, OR, NOT Mantıksal Operatörleri
AND ve OR mantıksal operatörlerini birden fazla koşulu birleştirmek için kullanırız. AND operatörü kullanılarak, birleştirişen koşulların tümüne uyan satırlar listelenir. OR operatörü kullanılarak, birleştirilen koşullardan en az birine uyan satırlar listelenir. NOT operatörü kendisinden sonra gelen koşulu sağlamayan kayıtları listeler.
 
Parantez kullanımı ikiden fazla koşul olması durumunda koşulların öncelik sırasını belirler. Parantez kullanılmaması durumunda SQL önce NOT, sonra AND ve en sonra da OR mantıksal operatörünü işler.
 
Sentax:
SELECT <sütun adı> FROM <tablo adı> WHERE <koşul> AND <koşul>[AND <koşul>...]
SELECT <sütun adı> FROM <tablo adı> WHERE <koşul> OR <koşul>[OR <koşul>...]
 
Örnek: Personel numarası 5 olan çalışanın 1997 yılından sonra aldığı siparişleri listelemek için kontrol edilmesi gereken iki koşul vardır.
 
Sorgu:
USE northwind
Select EmployeeID, CustomerID, OrderID, OrderDate
FROM Orders WHERE EmployeeID=5 AND OrderDate>’1/1/1997’
 
Örnek: Berlin’deki veya Amerika’daki üreticileri seçelim.
 
Sorgu:
USE northwind
SELECT SupplierID, CompanyName, City, Country FROM suppliers WHERE Country=’USA’ OR city=’Berlin’ ORDER BY city, country
 
Örnek: 1 veya 2 nolu üreticilerin 18$ dan pahalı ürünlerini listelemek istersek.
 
Sorgu:
USE northwind
SELECT ProductName, SupplierID, UnitPrice FROM Products WHERE (SupplierID=1 OR SupplierID=2) AND UnitPrice > 18
 
SQL BETWEEN ... AND
BETWEEN ... AND operatörü 2 değer ile belirtilen aralığı sınar. Bu değerler sayı, metin veya tarih olabilir.
 
Sentax:
SELECT <sütun adı> FROM <tablo adı>
WHERE <sütun adı> BETWEEN <değer 1> AND <değer 2>
 
Örnek: Alfabetik olarak müşteri kodu CACTU ve DUMON arasında yer alan tüm müşterileri görüntülemek için;
 
Sorgu:
USE northwind
SELECT * FROM Customers
WHERE CustomerID BETWEEN ‘CACTU’ AND ‘DUMON’
 
Örnek: Sadece 1996 yılı içerisinde, ilk harfi ‘V’ olan müşterilerin verdiği siparişleri görmek için;
 
Sorgu:
USE Northwind
SELECT OrderID, CustomerID, Freight FROM Orders
WHERE OrderDate BETWEEN ‘01/01/1996’ AND ‘31/12/1996’
AND CustomerID LIKE ‘v%’
 
Bir Listedeki Elemanların Aranması – IN
IN anahtar sözcüğü, bir listedeki elemanlardan herhangi biriyle eşleşen satırları görüntülemek için kullanırız.
NOT IN arama kriterini ise listede olmayan değerleri aramak için kullanırız.
NOT koşul bildirimi diğer arama koşullarına göre biraz daha yavaş çalışır. Performans açısından çok sık kullanılması tavsiye edilmez.
IN ile elde ettiğimiz sonuçları OR kullanarak da elde edebiliriz.
 
Örnek: Japonya ve İtalya’daki üreticileri görmek istediğimizde;
 
Sorgu:
USE Northwind
SELECT companyname, country FROM Suppliers
WHERE counrty IN (‘Japan’, ‘Italy’)
 
Boş Değerlerin Görüntülenmesi – NULL Değerler
Veri girişi sırasında alana herhangi bir değer girilmezse ve alan için herhangi bir varsayılan değer atanmamışsa, alanda boş(null) değer saklanır. NULL değeri boşluk (‘ ‘) veya sıfır (0) değerinden farklıdır. Belirli bir alanına hiçbir değer girilmemiş kayıtları listelemek için IS NULL arama kriteri kullanılır.
Bir tablodaki hangi alanların varsayılan değerleri olacağına veya alanın NULL değere izin verip vermediğine, tablo tasarımı sırasında karar verilir.
Boş olmayan satırları listelemek gerektiğinde IS NOT NULL arama kriteri kullanılır.
 
Örnek: Fax numarası girilmemiş firmaları listele.
 
Sorgu:
USE northwind
SELECT companyname, fax FROM suppliers
WHERE fax IS NULL
 
Örnek: ShipRegion bilgisi girilmemiş olan kayıtlar.
 
Sorgu:
USE Northwind
SELECT OrderID, CustomerID, Freight, ShipRegion
FROM Orders WHERE ShipRegion IS NOT NULL
 
SQL Select Distinct
DISTINCT anahtar sözcüğü bir sütundaki benzersiz kayıtları listeler. Bir sütunda belirli bir kelime iki veya daha fazla sayıda tekrarlanıyor olabilir. Distinct ile her tekrarlanan kelime sadece bir kez listelenir.
 
Sentax:
SELECT DISTINCT <sütun adı>
FROM <tablo adı> [WHERE <koşul>]
 
Örnek: Hangi ülkelerdeki üreticilerle çalıştığımızı görmek için,
 
Sorgu:
USE northwind
SELECT DISTINCT country
FROM suppliers ORDER BY country
 
SQL Order BY
ORDER BY yancümlesi, satırları belirtilen sütun(lar)a göre sıralamak için kullanılır.
ORDER BY ile hangi sütuna göre sıralayacağımızı ve sıralamanın artan veya azalan şekilde yapılacağını belirleri. Sıralama yönü belirtilmez ise SQL veriyi artan şekilde sıralar.
Sıralama yapılacak alanlar SELECT ifadesinde yer almak zotunda değildir.
 
Sentax:
SELECT <sütun ad(lar)ı> FROM <tablo adı>
ORDER BY <sütun adı><sıralama yönü>,
<sütun adı><sıralama yönü>, ...
 
Örnek: Aşağıdaki sorguda Sonuç kümesi CategoryID alanına göre azalan, atnı kategorideki ürünleri ise UnitPrice alanına göre artan şekilde sıralandı.
 
Sorgu:
USE northwind
SELECT productid, productname, categoryid, unitprice
FROM products ORDER BY categoryid DESC, unitprice ASC
 
Matematiksel & Metinsel İfadeler
Tablolardaki alanları kullanarak, matematiksel veya metinsel operatörler yardımıyla oluşturduğumuz ifadeler ile sorguların gücünü arttırabiliriz.
 
Operatör
Görev
+
Toplama
-
Çıkarma
*
Çarpma
/
Bölme
%
Mod
 
Örnek: Aşağıdaki örnekte birim fiyat (UnitPrice) alanı Miktar(Quantity) alanı ile çarpılarak toplam fiyat hesaplanmış ve “TotalCost” adı ile yeni bir alan olarak görüntülenmiştir.
 
Sorgu:
USE Northwind
SELECT OrderID, ProductID, (UnitPrice * Quantity) AS TotalCost
FROM [Order Details] WHERE (UnitPrice * Quantity) > 10000
 
Dikkat edersniz, Order Details isimli tablo çağırılırken köşeli parantezler kullanılmış. SQL’de tablo isimlerinde boşluk karakteri kullanılmışsa, sorgu içerisinde köşeli parantezler içinde çağırılır.
 
SQL Count Fonksiyonları
SQL, veri tabanındaki kayıtları sayabilmek için yerleşik (built-in) COUNT fonksiyonu kullanır.
 
Sentax:
SELECT COUNT (<sütun adı>) FROM <tablo adı>
 
COUNT(*)
COUNT fonksiyonu (*) ile kullanıldığında FROM ile belirtilen tablodaki toplam satır sayısını verir.
 
Örnek: Aşağıdaki örnekte Siparişler (Orders) tablosundaki kayıt sayısı listelenmiştir.
 
Sorgu:
USE northwind
SELECT COUNT(*) AS [Kayıt Sayısı] FROM Orders
 
Örnek: Aşağıda, yaşı 20’den büyük olan çalışanlar listelenir.
 
Sorgu:
USE Northwind
SELECT COUNT (*) AS [Yirmi Yaşından Büyükler]
FROM Employees WHERE getdate() – BirthDate > 20
COUNT(<sütun adı>)
COUNT fonksiyonu bir sütun adı ile birlikte kullanıldığında, o sütundaki boş (NULL) olmayan kayıtların sayısını verir.
 
Örnek: Orders tablosundan ShipRegion alanını saydıralım.
 
Sorgu:
USE Northwind
SELECT COUNT(ShipRegion) FROM Orders
COUNT DISTINCT
DISTINCT anahtar sözcüğü COUNT ile kullanıldığında, belirtilen sütundaki benzersiz kayıtların sayısını verir.
 
Sentax:
SELECT COUNT(DISTINCT <sütun adı>) FROM <tablo adı>
 
Örnek: Siparişlerin kaç farklı müşteriden alındığını öğrenelim.
 
Sorgu:
USE Northwind
SELECT COUNT (DISTINCT CustomerID) FROM Orders
SÜTUNLARIN VE TABLOLARIN YENİDEN ADLANDIRILMASI – AS ANAHTAR SÖZCÜĞÜ
Sonuç kümelerindeki sütun adları varsayılan olarak tablodaki alan adlarıdır. AS yardımcı kelimesini kullanarak sütunları farklı adlarla görüntüleyebiliriz.
Aynı şekilde uzun tablo isimlerini de kullanımı daha kolay olacak şekilde değiştirebiliriz.
 
Sentax:
SELECT <sütun adı> AS <yeni ad> FROM <tablo adı> AS <yeni tablo adı>
SQL TOPLAM FONKSİYONLARI (AGGREGATE FUNCTIONS)
AVG (<sütun adı>) Fonksiyonu
AVG fonksiyonu belirtilen sütundaki ortalama değeri verir. Bu hesaplama sırasında boş (NULL) değerler işleme katılmaz.
 
Örnek: Aşağıda Ürünler (Products) tablosundaki ortalama ürün birim fiyatı (UnitPrice) hesaplanmıştır.
 
Sorgu:
USE Northwind
SELECT AVG(UnitPrice) AS ‘Avarage Price’ FROM Products
MAX(<sütun adı>) Fonksiyonu
MAX fonksiyonu, bir sütundaki en yüksek değeri verir. Boş (NULL) değerler işleme katılmaz. MAX fonksiyonu alfabetik sıralamadaki ilk metinsel ifadeyi de bulmamızı sağlar.
MIN(<sütun adı>) Fonksiyonu
MIN fonksiyonu, bir sütundaki kayıtlardan en küçük olanının değerini verir. Boş (NULL) değerler işe katılmaz. MIN fonksiyonu alfabetik sıralamadaki son metinsel ifadeyi de bulmamızı sağlar.
SUM(<sütun adı>) Fonksiyonu
SUM fonksiyonu, belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür.
İlk n Kaydın Görüntülenmesi – TOP n
Bazı durumlarda bir tablo veya sorgudaki tüm kayıtları görmek istemeyebiliriz. Bir sonuç kümesindeki ilk n satırı veya tüm kayıtların belirli bir yüzdesini görüntüleyebilmek için TOP n  anahtar sözcüğü kullanılır.
TOP n veya TOP n PERCENT anahtar sözcükleri ORDER BY yan cümlesi ile birlikte kullanılmalıdır. Aksi halde listelenen verilerde WHERE ifadesi ile belirtilen koşula uyan kayıtlar rastgele dizileceğinden, istediğimiz sonucu elde edemeyebiliriz.
WITH TIES
WITH TIES yan cümlesi, ORDER BY ile sıralanan sonuç kümesinde son kayıt ile aynı değerde olan kayıtların da listelenmesini sağlar. Bu durumda sonuç kümemi belirttiğimiz n sayısından daha fazla olabilir.
WITH TIES yan cümlesi, sadece ORDER BY yan cümlesi ile kullanılabilir.
 
Örnek: Aşağıda sipariş detayları tablosundan (order details) en yüksek siparişi verilen 5 ürün listelenmek istenmiştir.
 
Sorgu:
USE Northwind
SELECT TOP 5 orderid, productid, quantity
FROM [order details] ORDER BY quantity DESC
 
Örnek: Yukarıdaki sorguyu WITH TIES ile birlikte çalıştırırsak sonuç kümesinin bu kez 10 satırdan oluştuğunu görürüz. Bu durumda miktarı son kayıttaki değere eşit olan kayıtlar da listelenmiştir. İki örneği de karşılaştırın.
 
Sorgu:
USE Northwind
SELECT TOP 5 WITH TIES orderid, productid, quantity
FROM [order details] ORDER BY quantity DESC
GROUP BY
DISTINCT anahtar sözcüğü sadece benzersiz satırları listelemek için kullanılırken, GROUP BY yan cümlesi belirtilen sütun yada sütunlardaki aynı değere sahip satırları tek bir satırda birleştirmeyi sağlar. GROUP BY genellikle toplam fonksiyonlarıyla (aggregate function) kullanılır. GROUP BY sorgularında kullanılan en yaygın toplama fonksiyonları MIN, MAX, SUM ve COUNT’dır.
GROUP BY ile belirtilen sütunlar SELECT ifadesinde de yer almalıdır.
 
Örnek: Aşağıda Sipariş Detayları(Order Details) tablosu productid alanına göre gruplandırılmış ve her grubun toplam sipariş miktarı hesaplanmıştır.
 
Sorgu:
USE Northwind
SELECT productid, SUM(quantity) AS ‘Total’
FROM [Order Details] GROUP BY productid ORDER BY productid
 
Örnek: Aşağıdaki örnekte sadece ürünkodu 2 olan kayıdın toplam miktarı hesaplanmıştır.
 
Sorgu:
USE Northwind
SELECT productid, SUM(quantity) AS ‘Total’
FROM [Order Details] WHERE productid=2
GROUP BY productid ORDER BY productid
HAVING YAN CÜMLESİ
Toplam fonksiyonlarını kullanırken kısıt getirimesi gerektiğinde WHERE yan cümlesini kullanamayız. HAVING yan cümlesi, GROUP BY ile elde edilecek satırları kısıtlamak için kullanılır. İşlev olarak WHERE yan cümlesi gibi çalışır fakat WHERE yan cümlesi gruplama işlemlerinden önce, HAVING yan cümlesi ise GROUP BY’dan sonra uygulanır.
 
Örnek: Bu sorguda toplam sipariş miktarı 1200 adetten fazla olan ürün kodları listelenmiştir.
 
Sorgu:
USE Northwind
SELECT productid, SUM(quantity) AS total_quantity
FROM [order details]
GROUP BY productid HAVING SUM(quantity) > 1200
 
Örnek: Siparişler (Orders) tablosunu EmployeeID alanına göre gruplandırılmış ve CustomerID alanı her grup için sayılmıştır. Bu şekilde her çalışanın toplam kaç sipariş aldığı görülür. Burada saydırılacak olan CustomerID’den farklı bir alan da olabilirdi.
 
Sorgu:
USE Northwind
SELECT EmployeeID, COUNT(CustomerID) FROM orders
GROUP BY EmployeeID HAVING COUNT(CustomerID)>120
ORDER BY EmployeeID
GROUP BY – ÖZET BİLGİ
GROUP BY ile bir toplama fonksiyonu kullandığımızda her farklı değer için sadece sonuç satırı görüntülenir. Gruplandırdığımız değerlerin detaylarını farklı yan cümleler kullanarak görüntüleyebiliriz.
ROLLUP
Grup değerlerini özetlemek için kullanılır.
 
Örnek:
Sorgu:
USE Northwind
SELECT orderid, productid, SUM(quantity) AS total_quantity
FROM [order details]
WHERE orderid < 10250 GROUP BY orderid, productid
WITH ROLLUP ORDER BY orderid, productid
CUBE
GROUP BY ile belirtilen sütunların tüm olası eşleşmelerini özetler.
 
Örnek: Aşağıdaki örnekte sipariş kodu 10250’den küçük olan kayıtların ve ürünlerin detaylı toplamları listelenmiştir.
 
Sorgu:
SELECT orderid, productid, SUM(quantity) AS total_quantity
FROM [order details] WHERE OrderID < 12500
GROUP BY OrderID, productid
WITH CUBE ORDER BY OrderID, productid
GROUPING FONKSİYONU
ROLLUP ve CUBE ile elde edilen sonuç kümesini görsel olarak daha kolay yorumlanabilmesini sağlar. GROUPING ile belirtilen her sütun için yeni bir sütun oluşturulur. Bu sütunlarda özet bilgiler için 1, detay bilgiler için 0 değeri görüntülenir.
 
Örnek: Yukarıdaki alıştırmalardan farklı olarak fazladan eklenmiş sütunlara dikkat edin. OrderID alanı NULL olarak görülen kayıtlar tüm siparişlerdeki ürünlerin toplamlarını göstermektedir.
 
Sorgu:
USE Northwind
SELECT orderid, GROUPING(orderid), productid, GROUPING(productid), SUM(quantity) AS total_quantity
FROM [order details] WHERE orderid < 10250 GROUP BY orderid, productid WITH CUBE ORDER BY orderid, productid
COMPUTE ve COMPUTE BY
COMPUTE ifadesi tüm sonuç kümesini listeler ve bu listenin altında tek bir detay satırı görüntülenir. COMPUTE ile kullandığınız sütun SELECT listesinde de yer almalıdır.
COMPUTE BY kullanarak daha detaylı gruplandırma da yapılabilir.
 
Örnek: Aşağıdaki sorgu Sipariş detayları (Order Details) tablosundaki tüm satırları listeler ve kayıt kümesinin sonuna tüm ürünlerin genel toplamını verir.
 
Sorgu:
USE Northwind
SELECT productid, orderid, quantity FROM [Order Details]
ORDER BY productid, orderid COMPUTE SUM(quantity)
 
Örnek: Aşağıdaki sorgu Sipariş Detayları tablosundaki tüm satırları listeleyecek ve her sipariş altına sipariş genel toplamını verecektir. Son olarak ise tüm siparişlerdeki genel toplam görüntülenecektir.
 
Sorgu:
USE Northwind
SELECT productid, orderid, quantity FROM [order details]
WHERE orderid < 10250 ORDER BY orderid, productid
COMPUTE SUM(quantity) BY orderid COMPUTE SUM(quantity)
SQL JOIN
Şimdiye kadar aynı anda sadece tek bir tablodan veriler ile çalışıldı. Bazı durumlarda sonuç kümemizin daha anlamlı olabilmesi için iki farklı tablodan verilere ihtiyacımız olabilir. Bunun için sorgumuzda iki anahtar kelime daha kullanırız;
JOIN ifadesi ile hangi tabloları ve nasıl birleştireceğimizi
ON ifadesi ile tabloların hangi alanlar üzerinden birleşeceğini belirtiriz.
 
Tablolar genelde Primary Key(birincil anahtar) ve Foreign Key(yabancı anahtar) alanları üzerinden birleştirilseler de, gerektiğinde diğer herhangi bir alan da bunun için kullanılabilir. Fakat bu alanların aynı tür veri içerdiğinden emin olmalısınız.
 
Primary key, her kayıt için benzersiz bir değer taşıyan alandır. Örneğin, öğrenci kayıtlarının tutulduğu bir tabloda, öğrenci numarasının saklandığı alan birincil anahtar olarak seçilebilir. Öğrenci ile ilgili tüm bilgiler gerçekte öğrenci numarası ile kodlanmıştır ve her öğrencinin numarası birbirinden farklıdır.
INNER JOIN
SQL’de varsayılan (default) bağlantı türüdür. İlişkili tablolarda sadece JOIN koşulunu sağlayan kayıtlar listelenir.
 
Örnek:
Sorgu:
USE Northwind
SELECT productname, companyname
FROM products INNER JOIN suppliers
ON products.supplierid = suppliers.supplierid
 
Örnek: Aşağıdaki örnekte 01.01.1998 tarihinden sonra sipariş vermiş olan müşterilerin isimleri listelenmiştir. Bu iki bilgi farklı tablolarda olduğundan iki tablo arasında, her iki tabloda da olan CustomerID alanı üzerinden bir bağlantı sağlanmıştır.
 
Sorgu:
USE Northwind
SELECT DISTINCT companyname, orderdate FROM orders
INNER JOIN customers
ON orders.customerid = customers.customerid
WHERE orderdate > ‘1/1/98’
OUTER JOIN
LEFT veya RIGHT OUTER JOIN ifadeleri ilişkili alanda birbiriyle eşleşenlerin yanında eşleşmeyen kayıtları da listeler. JOIN koşuluna uymayan satırlar NULL(boş) değer olarak görüntülenirler.
LEFT JOIN
LEFT OUTER JOIN ile yazımdaki ilk tablonun tüm satırları listelenir ve diğer tablo ile eşleşmeyen alanlar NULL(boş) değer ile gösterilir. Eğer tabloların sorgudaki sırası değişirse aynı sonucu elde edebilmek için RIGHT OUTER JOIN kullanılır.
 
Sentax:
SELECT <sütun ad(lar)ı>
FROM <ilk tablo> LEFT JOIN <ikinci tablo>
ON <ilk tablo>.<anahtar alan> = <ikinci tablo>.<anahtar alan>
 
Örnek: Aşağıdaki sorgunun SELECT kısmında iki sütn tek bir sütın adı altında birleştirilmiştir. Çalıştırıldığında çalışanın tam adı ve müşterilerden aldığı siparişler ve tarihleri listelenecektir.
 
Sorgu:
USE Northwind
SELECT Employees.FirstName + ‘ ’ + Employees.LastName
AS Name, OrderID, OrderDate
FROM Employees LEFT JOIN Orders
ON Employees.EmployeeID = Orders.EmployeeID
RIGHT JOIN
İkinci tablodaki tüm kayıtları listelemek istendiğinde RIGHT JOIN kullanılır. Bu durumda ise birinci tablodaki eşleşmeyen kayıtlar NULL olarak görüntülenir. Eğer tabloların yazım önceliğini değiştirirseniz, sorgu LEFT OUTER JOIN ile aynı sonucu verecektir.
 
Sentax:
SELECT <sütun ad(lar)ı> FROM <ilk tablo>
RIGHT JOIN <ikinci tablo> ON
<birinci tablo>.<anahtar alan> = <ikinci tablo>.<anahtar alan>
 
Örnek: Aşağıdaki örnekte tüm müşteriler ve verdikleri siparişlerin tarihleri listelenmiştir. Hiç siparişi olmayan müşterilerin tarih alanı NULL olarak görüntülendiğine dikkat edin.
 
Sorgu:
USE Northwind
SELECT companyname, customers.customerid, orderdate
FROM customers LEFT OUTER JOIN orders
ON customers.customerid = orders.customerid
CROSS JOIN
İlişkili tablolar arasında olası tüm eşleşmeleri listeler. Belirli ortak bir alan belirtilmesine gerek yoktur.
 
Örnek: Aşağıdaki örnek üreticilerin çalışabilecekleri tüm olası gemi şirketlerini görmemizi sağlar. Shippers tablosu 3 kayıt ve Suppliers tablosunda 29 kayıt olduğundan, sonuç kümesinde 87 satır görüntülenecektir.
 
Sorgu:
USE Northwind
SELECT suppliers.companyname, shippers.companyname
FROM suppliers CROSS JOIN shippers
İkiden Fazla Tablonun Birleştirilmesi
Gerektiğinde ikiden fazla tabloyu birleştirmek de mümkündür. Bir JOIN işlemiyle birleştirilen tablolar bir başka tabloya aralarındaki ortak bir sütun üzerinden bağlanabilir.
 
Örnek: Aşağıdaki örnekte Order Details tablosunu ara tablo şeklinde kullanarak, Orders ve Products tablosundan gerekli bilgiler görüntülenmiştir. Bir sipariş birden fazla ürünü içerebilir ve bir ürün birden fazla siparişte yer alabilir. Sonuç kümemizde Order Details tablosundan hiçbir alan görüntülemesekte sorguda kullanmalıyız.
 
Sorgu:
SELECT orderdate, productname FROM orders AS O
INNER JOIN [order details] AS OD ON O.orderid = OD.orderid
INNER JOIN products AS P ON OD.productid = P.productid
WHERE orderdate = ‘7/8/96’ ORDER BY productname
SELF-JOINS
Bir tablodaki aynı değerleri içeren farklı satırları listelemek istendiğinde o tablo kendisi ile birleştirilir.
 
Örnek: Aşağıdaki örnek job title aynı olan çalışanları listeler. WHERE ifadesi ile belirtilen koşul kendisiyle eşleşen kayıtların görüntülenmesini engeller.
 
Sorgu:
SELECT a.employeeid, LEFT(a.lastname, 10) AS NAME,
LEFT(a.title, 10) AS Title, b.employeeid,
LEFT(b.lastname, 10) AS NAME, LEFT(b.title, 10) AS Title
FROM Employees AS a INNER JOIN employees AS b
ON a.title = b.title WHERE a.employeeid < b.employeeid
ORDER BY a.employeeid
UNION
UNION fonksiyonu, iki veya daha fazla SELECT sorgusunun sonuçlarını tekbir sonuç kümesinde birleştirir. Görüntülenecek olan tablolar aynı veri türünde aynı sayıda ve aynı düzendeki sütunlardan oluşmalıdır.
 
Örnek: Aşağıdaki örnekte Customers tablosu ve Employees tablosu verileri birleştirilmiştir. Birinci sorgunun SELECT ifadesindeki takma adın görüntülendiğine dikkat ediniz.
 
Sorgu:
SELECT (firstname + ‘ ’ + lastname) AS Name, city, postalcode
FROM employees
UNION
SELECT companyname, city, postalcode FROM customers
ALT SORGULAR (SUBQUERIES)
Bir alt sorgu, başka bir SELECT, INSERT, UPDATE veya DELETE ifadesi içine yuvalanmış bir SELECT ifadesidir. Çoğu kez alt sorgular, JOIN ifadelerine dönüştürülebilir. Alt sorgular, karmaşık sorguları biraz daha anlaşılabilir mantıksak bölümlere ayıtmak için veya bir başka sorgunun sonuç kümesine dayalı bir sorguyu çalıştırmak için kullanılır. JOIN bağlantıları alt sorgulardan daha hızlı işlenirler.
Sonuç Kümesinin Tablo Olarak Kullanımı
Bir sorgunun FROM ifadesinde kullanılan tablonun yerine bir başka sorguyu kullanabilirsiniz. Sonuç kümesine herhangi bir tabloya yapabildiğimiz gibi bir geçici takma ad verilebilir.
 
Örnek: İç sorgu ile üretilen sonuç kümesi dış sorguda kullanılmıştır.
 
Sorgu:
SELECT T.orderid, T.customerid
FROM (SELECT orderid, customerid FROM orders) AS T
Sonuç Kümesinin Bir Deyim Olarak Kullanılması
T-SQL de bir sorgu herhangi bir deyimin yerine kullanılabilir. Bu amaç için kullanılacak bir sorgu tek bir sayısal değer veya tek bir sütun değer listesi döndürmelidir. Bir değerler listesi geri döndüren sorgular IN anahtar sözcüğü içeren WHERE yan cümlesi yerine kullanılabilir.
 
Örnek: Aşağıdaki sorgu çok satan bir bilgisayar kitabının fiyatını, bütün kitapların ortalama fiyatlarını ve bilgisayar kitabı ile ortalama fiyat arasındaki farkı geri döndürür.
 
Sorgu:
USE pubs
SELECT title, price,
(SELECT AVG(price) FROM titles) AS Average,
price-(SELECT AVG(price) FROM titles) AS Difference
FROM titles WHERE type=’popular_comp’
İlişkili Alt Sorgu
İç sorgu ile dış sorgu bir alan üzerinden doğrudan ilişkilidir.
 
Örnek: Aşağıdaki örnekte 23 nolu üründen 20’den fazla sipariş veren müşterileri listeler.
 
Sorgu:
USE northwind
SELECT orderid, customerid FROM orders AS or1
WHERE 20 < (SELECT quantity FROM [order details] AS od
WHERE or1.orderid = od.orderid AND od.productid = 23)
 
Örnek: Aşağıdaki sorgu ürünlerin bir listesini ve ürünün o ana kadarki verilmiş en yüksek sipariş miktasını gösterir.
 
Sorgu:
USE Northwind
SELECT DISTINCT productid, quantity
FROM [order details] AS ord1
WHERE quantity = (SELECT MAX(quantity) FROM [order details]
AS ord2 WHERE ord1.productid = ord2.productid)
ALT SORGU – JOIN DÖNÜŞÜMÜ
İlişkili alt sorguları bir JOIN ifadesi yerine kullanabiliriz.
 
Örnek: Aşağıdaki iki farklı sorgu aynı sonucu üretir. Birincisi alt sorgu, ikincisi ise JOIN kullanır.
 
Sorgu 1:
USE pubs
SELECT DISTINCT t1.type FROM titles AS t1
WHERE t1.type IN (SELECT t2.type FROM titles AS t2
WHERE t1.pub_id<>t2.pub_id)
 
Sorgu 2:
USE pubs
SELECT DISTINCT t1.type FROM titles AS t1 INNER JOIN titles
AS t2 ON t1.type = t2.type WHERE t1.pub_id<>t2.pub_id
 
ALT SORGU – HAVING DÖNÜŞÜMÜ
İlişkili bir alt sorgunun ürettiği sonuç kümesini HAVING yan cümlesi ile de elde edilebilir.
 
Örnek: Aşağıdaki iki örnekte kendi türünün ortalama fiyatından daha pahalı olan ürünleri listeler.
 
Sorgu 1:
USE pubs
SELECT t1.type, t1.title, t1.price FROM titles AS t1
WHERE t1.price > (SELECT AVG(t2.price) FROM titles AS t2
WHERE t1.type = t2.type)
 
Sorgu 2:
USE pubs
SELECT t1.type, t1.title, t1.price FROM titles AS t1
INNER JOIN titles AS t2 ON t1.type = t2.type
GROUP BY t1.type, t1.title, t1.price
HAVING t1.price > AVG(t2.price)
 
 
Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Tatar Ramazan(7.7.2020 20:07:30)
Zavallı mühendisler en zavallıları da sizsiniz. Eniştem muhasebecilikten sigortacılıktan bi ton para kazanıyor siz 8-10 bin tl.ye talim ediyorsunuz. O da canınızı çıkartıyorlar. Müdürler bağırıp çağırıyor size. Millet tatil yerlerinde bahşişlerle iyi para kazanıyor karılarla alem yapıyor. Adam ev aldı karı aldı antalyada. Siz de firmalara eşeklik yapın. Stres sıkıntı çekin. Bi bok yok bu meslekte mezun olunca görürsünüz. 12 yıl deneyimliyim. 10 teknoloji biliyorum 10 bin tl bile vermiyorlar. Lanetli bilişim sektörü. Adaletsizlik saçmalık sıkıntı had safhada. Yazacam madde madde hepsini bekleyin.
%0 %0 %100
Katılıyorum Çekimserim Katılmıyorum



nickimi feriha koydum(23.2.2018 17:11:53)
full stack developeeeerrr
%67 %0 %33
Katılıyorum Çekimserim Katılmıyorum



Eyüp yılmaz(14.3.2017 12:38:02)
merve seni seviıyorum asl bebeyoö
%7 %0 %93
Katılıyorum Çekimserim Katılmıyorum



BEYZADE BOZTEPE(14.3.2017 12:37:22)
18 Yaşındayım ınstagram=beyzadebztp
%7 %0 %93
Katılıyorum Çekimserim Katılmıyorum



Eyüp yılmaz(14.3.2017 12:35:15)
39 yasındayım coderım hackerıım ıp verın modemınıze vurayım
%19 %0 %81
Katılıyorum Çekimserim Katılmıyorum



BEYZADE BOZTEPE(14.3.2017 12:35:10)
18 Yaşındayım ınstagram=beyzadebztp (çıkın çıkın gelin GIZLARRRRR)
%17 %0 %83
Katılıyorum Çekimserim Katılmıyorum



BEYZADE BOZTEPE(14.3.2017 12:34:13)
EYVALLAH BENDE İYİYİM
%17 %0 %83
Katılıyorum Çekimserim Katılmıyorum



BEYZADE BOZTEPE(14.3.2017 12:34:03)
İYİYİM GEZEGEN SEN NASILSIN
%17 %0 %83
Katılıyorum Çekimserim Katılmıyorum



Eyüp yılmmaz(14.3.2017 12:33:48)
17 yasındayım kız talıplerımı beklıyom ınsatgram= eyup.yılmaz3
%15 %0 %85
Katılıyorum Çekimserim Katılmıyorum





Yazılan yorumlar tek sayfaya sığmadı. Daha fazlasını okumak için aşağıda sayfa numarasına tıklayın:
1   > 2   > 3 

Copyright© 2001-2020. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.