Kategoriler


SON YORUMLAR
Tatar Ramazan
Bilgisayar mühendisliğinden şikayet etmeyeyim diyorum ama bütün veriler beni haklı çıkarıyor. Aşağıda yazdık okuyun: Yazılım uzmanı pozisyonu için; 1-) Kariyernette 2000-3000 TL arası maaş veren 100 ilan var. 2-) 3000-6000 arası maş veren 100 ilan 3-) 6000 ve üzeri veren sadece 5 ilan var Bu mu iyi para kazandıran meslek?! Memurluğu iyi ki bırakmamışım. Bir de adamın canını çıkarıyorlar. Her çıkan teknolojiyi öğrenmeni bekliyorlar. İstanbulda kiralar 2000.den başlıyor. 6000 TL bile yüksek maaş falan değil. 2008.de mezun oldum. O zaman da aynı paralar veriliyordu. Zaman geçtikçe aday sayısı artıp rekabet kızıştıkça maaşlar düşüyor, vasatlaşıyor. 2010 yılında 5000 TL kazanan grafikerler duyuyordum. Mesleğimiz yerlerde sürünüyor. Memur olmak ta zorlaşınca uyanık iş veren size iyi para verir mi sanıyorsunuz? Nasıl olsa kaçamazsınız Devlet.e...KPSS zor artık.

yeşekkür ederiz beğendim
Dilara
Merhaba, ben bilgisayar mühendisliği öğrencisiyim yabancı dilimde var ama sitelerden okuduğum yorumlardan dolayı gelecek kaygısı yaşıyorum,nasıl bir yol izlemem gerek lütfen yorumlarınızla bana yardımcı olur musunuz?
sultan b.
makaleniz gerçekten yardımcı ve aydınlatıcı fakat örnekler verirken sürekli .abi, adam. vs özneler kullanmanız beni rahatsız etti. bilgisayar mühendisi olmak isteyen bir kadın olarak açıkçası bu durum beni biraz umutsuzluğa sürüklemedi de değil.
irfan
https://www.udemy.com/linux-and-bash-shell-scripting-from-beginner-to-intermediate/learn/v4/overview
Tatar Ramazan
İlerde düzelecek inşaallahu Teala her şey. Herkes hakkını eninde sonunda alır. Son gülen iyi güler. Başlangıçta bütün mühendisler aynı alır ama kendini geliştiren ilerleyen dönemlerde farkı açar.
tatar ramazan-a
tatar ramazan ağlamayı bırak. kendi şirketini kurma vaktin gelmiş. devletten ayrıl. işveren ol artık. herkesi eleştirmeyi bırak. eleştirilmeyecek bir şirket kur.
bir zamanlar anadoluda
zamanında iyi sürünmüş, iyi aşağılanmış ve itlerin çakalların arasında yaşamış, onlarla savaşmış itliği çakallığı halen öğrenen birisi olarak tavsiyeler: 1- kendini geliştirmek tam bir saçmalıktır (Google vb. mülakatlara falan girmek gibi durumlar hariç) 2- herşey çevrenle başlar çevrenle biter, iş bulma da karı da kız da çevrene bakar. başta suratıma bile bakmayan kızlar, popülerlğimi (milletçe akıllı, çalışkan, başarılı, zengin, cool diye nitelenmek gibi) görünce köpeğim oldu selam dahi vermiyorum yine rahat vermiyorlar. 3- nasıl populer oldum? çalışarak mı? en az çalışanlardandım. 4- algıyı yöneteceksiniz. kendinizi satmayı bileceksiniz. reklamınızı yapacaksınız. kendini satamazsanız ne kız gelir ne iş verirler. 5- o beğenmediğin 3 birimlik erkek veya işe giren eleman, potansiyeli 1 ise 3 gösterir sen 10 ken bişr gösteremezsen, ne karı gelir ne birşey. yarın karın da sygı duymaz gözünün önünde başkasıyla sikişir.
Tatar Ramazan
Site sahibine 2008 de mail atmıştım danışmıştım. O günden beri siteyi takip ederim. Ateşli yazıları kendimi geliştirmemde etkili olmuştur. İstanbul üniversitesi iyi eğitim veriyor diye yorum yazan da bendim. Çok uyanığımdır. Zekam keskindir. Keşke üniversitem de biraz yol gösterseydi. Dersler, kitaplar belli sen niye hocalardan rehberlik bekledin diyecek olursanız: Tamam da bir sürü programlama dili var. Hangisinden başlayacağım, ne bileyim? C dilini öğrenin sonra C# veya java dan devam edersiniz diyebilirlerdi. Bunu bile yapamadılar. Bölüm başkanı da değişmişti. İyi şeyler yapayım derken daha kötü batırdı. Nesne tabanlı programlama dersinde for döngüsü gördük C sharpta. En azından takip programı yaptırdı bize işte. ADO.NET, SQL Server öğrendik. Ama sınıf nesne tabanlı programlamayı bir türlü sökemedi. Çünkü C dilinde struct konusunu öğrenmeyince sınıfları da özümsemek zor oldu. Debelendik durduk. İTÜ, Yıldız Teknik, İstanbul gibi üniversitelerin farkı burda. Bu kadar basit! C, C++ dilini iyi veriyor adamlar. Yahu C dilinin konularını tahtaya yazsaydı araştırma görevlisi bana yeterdi bile. Mıy mıy mıy yapıp durdular 4 sene boyunca. Ben ilk yarıyıl tatilinde (5 haftaydı) evde İntegraldan 200 soru çözüp vize finalden 100-100 almış adamım. Görün işte ben bile geri kalıyorsam programcılıkta öğretimde sorun var demek ki. Site sahibine kalsa üniversite önemli değil. Tabi kendisi İstanbul üniversitesinde iyi eğitim aldı. Kötü öğretimi, ilgisizliği tatmadı.
Tatar Ramazan
Eve şanssızdım her açıdan bundan sonra mutlu olur muyum bilmiyorum. Biz imanlıyız umudumuzu kesmeyiz. Yazdıklarımda doğruluk payı da var ama. Meslek ve sektörde bir sürü sıkıntı var. Sektör yöneticileri ve Üniv. hocaları niye bir araya gelip sorunları çözemiyor. Bilişim sektörü daha verimli büyük olabilirdi. Yazılım çağı diyorsak bu işe bir el atmalıyız. Mesleğimden şikayet ederim ama aynı zamanda ateşli gayretli adamımdır. Üniversitede gene hasta takip programı, satranç oyunu, E-Ticaret sitesi ve irili ufaklı 30 tane program yapmıştım. Çok boş mezun olmadım. Sınıfın ineklerindendim. Marmara bölgesinde 92 den sonra kurulan bir üniversitede okudum. Hocalar ilgisiz ve bilgisizdi. Sınıfın % 70 i C dilini öğrenemeden mezun oldu. Şunu şöyle yapın demekten aciz adamları hoca diye başımıza niye koyuyorlar? Sistemde de saçmalık var. Derslerin çoğu işe yaramıyor. Lise 1 den itibaren programlama çalışsaydım şimdi çok farklı olurdu. Boş yere zaman kaybı okumak. İnsanlara da zulmetmeyin gayrı. Bilim adamı olmak isteyen üniversitede kalsın. Bana Java, .NET, Oracle lazım kardeşim. Okumayanların eşi, arabası var. Ben sürünüp duruyorum. Memur maaşıyla bi şey yapamıyorsun ki. 2 ay önce 5000 tl oldu işte. Harita mühendisine de veriyorlar o kadar zaten. Benim sadece SQL bilgim onları ezmeye yeter.
HARUN AYDIN
YAZI BENİ DE ETKİLEDİ.BENDE BİLGİSAYAR ALANINDA İLERLEMEK İSTİYORUM.İLGİM DE VAR AMA YETERLİ BİLGİM YOK.BU YAZIDA ANLADIM Kİ GEREK DE YOKMUŞ İYİ BİR OKULDAYIM İYİ BİR ÜNİVERSİTE DE KAZANMAK İÇİN ELİMDEN GELENİ YAPICAM. BU YAZI İÇİN ÇOK TEŞEKKÜR EDERİM..
Mehmet Cemil Bayhan
Çok harika bir makale yazmışsınız.Ellerinize sağlık. Beni bayağı gaza getirdi gerçekten. Ben şuan lise 3 öğrencisiyim. Şimdiden bilgisayar hakkında bilgi sahibi olmaya çalışıyordum ama sizin bu yazınızı okuduktan sonra fikrim değişti. Artık şuan düşüneceğim tek şey YGS-LYS. SİZE NE KADAR TEŞEKKÜR ETSEM AZDIR. ÇOOOOOK TEŞEKKÜR EDİYORUM.........😆😉😊
Mehmet Cemil Bayhan
Çok harika bir makale yazmışsın ızgara.Ellerinize sağlık. Beni bayağı gaza getirdi gerçekten. Ben şuan lise 3 öğrencisiyim. Şimdiden bilgisayar hakkında bilgi sahibi olmaya çalışıyordum ama sizin bu yazınızı okuduktan sonra fikrim değişti. Artık şuan düşüneceğim tek şey YGS-LYS. SİZE NE KADAR TEŞEKKÜR ETSEM AZDIR. ÇOOOOOK TEŞEKKÜR EDİYORUM.........😆😉😊
eskidevir-yenidevir
sizin şanssızlığınız olmuş. işler yolunda gitmemiş diye anlıyorum.

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?
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Bilgisayar Mühendisi olacaklara üniversite seçme rehberi?
Sıralamanız Ne?
Bilgisayar Mühendisleri Kaç Para Alır?
İş bulmak üzerine
Para ile ödev yapmak üzerine
İSTANBULU SEÇİN!
Bilgisayar Mühendisleri Kaç Para Alır?
Şehir dışında okumak
Bilgisayar Mühendisleri Kaç Para Alır?
Bill Gates Emekli Oldu
Bilgisayar Mühendisleri Kaç Para Alır?
En büyük sıkıntı
Bilgisayar Mühendisleri Kaç Para Alır?
Patlaklar ordusuna katılacaklara 12 altın öğüt.
Amerika tartışıyor. Programlama dersleri ne zaman başlamalı?
En büyük sıkıntı
Gül'den gençlere öğütler: Boşa zaman geçirmeyin
Soru sormayı bilmek?

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

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



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



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



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



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



BEYZADE BOZTEPE(14.03.2017 12:34:03)
İYİYİM GEZEGEN SEN NASILSIN
%13 %0 %88
Katılıyorum Çekimserim Katılmıyorum



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



BEYZADE BOZTEPE(14.03.2017 12:33:34)
MERHABA DÜNYA
%6 %0 %94
Katılıyorum Çekimserim Katılmıyorum



BEYZADE BOZTEPE(14.03.2017 12:33:06)
YORUM
%12 %0 %88
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-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.