{"id":33733,"date":"2025-11-06T11:40:53","date_gmt":"2025-11-06T08:40:53","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33733"},"modified":"2025-11-06T11:40:53","modified_gmt":"2025-11-06T08:40:53","slug":"sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/","title":{"rendered":"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi"},"content":{"rendered":"<p><body><\/p>\n<h2>SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi<\/h2>\n<h3>Giri\u015f: Veri D\u00fcnyas\u0131n\u0131n Kap\u0131s\u0131n\u0131 A\u00e7an SELECT<\/h3>\n<p>Veritabanlar\u0131, modern yaz\u0131l\u0131m uygulamalar\u0131n\u0131n ve i\u015f zekas\u0131 sistemlerinin temelini olu\u015fturur. Bu veritabanlar\u0131 i\u00e7erisinde depolanan bilgilere eri\u015fmek, analiz etmek ve manip\u00fcle etmek i\u00e7in kullan\u0131lan dil ise Yap\u0131sal Sorgu Dili (Structured Query Language) veya k\u0131saca SQL&#8217;dir. SQL, veritaban\u0131 y\u00f6netim sistemleriyle (DBMS) etkile\u015fim kurmak i\u00e7in bir standartt\u0131r ve veri uzmanlar\u0131, geli\u015ftiriciler ve analistler i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/p>\n<p>SQL&#8217;in en temel ve en s\u0131k kullan\u0131lan komutu, veritaban\u0131ndaki tablolardan bilgi \u00e7ekmek i\u00e7in kullan\u0131lan <code>SELECT<\/code> ifadesidir. <code>SELECT<\/code> ifadesi olmadan bir veritaban\u0131ndan anlaml\u0131 bir \u015fekilde veri almak imkans\u0131zd\u0131r. Bu makale, <code>SELECT<\/code> ifadesinin temel kullan\u0131mlar\u0131ndan ba\u015flayarak, ileri d\u00fczey \u00f6zelliklerine, performans ipu\u00e7lar\u0131na ve en iyi uygulamalara kadar geni\u015f bir yelpazede derinlemesine bir rehber sunmay\u0131 ama\u00e7lamaktad\u0131r. Amac\u0131m\u0131z, SQL&#8217;de <code>SELECT<\/code> komutunu kullanarak veritaban\u0131n\u0131zdan istedi\u011finiz veriyi en verimli ve do\u011fru \u015fekilde nas\u0131l \u00e7ekece\u011finizi ad\u0131m ad\u0131m \u00f6\u011fretmektir.<\/p>\n<h3>Temel SELECT \u0130fadesi: Veri \u00c7ekmenin \u0130lk Ad\u0131m\u0131<\/h3>\n<p><code>SELECT<\/code> ifadesinin en basit formu, bir tablodan belirli s\u00fctunlar\u0131 veya t\u00fcm s\u00fctunlar\u0131 \u00e7ekmek i\u00e7in kullan\u0131l\u0131r. Temel yap\u0131s\u0131 \u015fu \u015fekildedir:<\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctun1, s\u00fctun2, ...\nFROM tablo_ad\u0131;<\/code><\/pre>\n<p>Burada <code>s\u00fctun1<\/code>, <code>s\u00fctun2<\/code>, &#8230; \u00e7ekmek istedi\u011finiz s\u00fctunlar\u0131n adlar\u0131d\u0131r. E\u011fer bir tablodaki t\u00fcm s\u00fctunlar\u0131 \u00e7ekmek istiyorsan\u0131z, s\u00fctun adlar\u0131 yerine bir y\u0131ld\u0131z (<code>*<\/code>) kullanabilirsiniz.<\/p>\n<h4>T\u00fcm S\u00fctunlar\u0131 Se\u00e7me: H\u0131zl\u0131 Bir Bak\u0131\u015f<\/h4>\n<p>Bir tablodaki t\u00fcm s\u00fctunlar\u0131 h\u0131zl\u0131ca g\u00f6rmek istedi\u011finizde <code>SELECT *<\/code> ifadesi olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>M\u00fc\u015fteriler<\/code> ad\u0131nda bir tablonuz oldu\u011funu ve bu tablodaki t\u00fcm bilgileri g\u00f6rmek istedi\u011finizi varsayal\u0131m:<\/p>\n<pre><code class=\"language-sql\">SELECT *\nFROM M\u00fc\u015fteriler;<\/code><\/pre>\n<p>Bu sorgu, <code>M\u00fc\u015fteriler<\/code> tablosundaki her sat\u0131r ve her s\u00fctundaki t\u00fcm veriyi d\u00f6nd\u00fcrecektir. Geli\u015ftirme a\u015famas\u0131nda veya tablo yap\u0131s\u0131n\u0131 anlamak i\u00e7in pratik olsa da, \u00fcretim ortam\u0131nda performans\u0131 olumsuz etkileyebilece\u011fi durumlar vard\u0131r.<\/p>\n<h4>Belirli S\u00fctunlar\u0131 Se\u00e7me: \u0130htiyac\u0131n\u0131z Olan\u0131 Al\u0131n<\/h4>\n<p>Genellikle bir tablodaki t\u00fcm s\u00fctunlara ihtiyac\u0131n\u0131z olmaz. Yaln\u0131zca belirli bilgilere odaklanmak, hem a\u011f trafi\u011fini azalt\u0131r hem de sorgunun daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu, ayn\u0131 zamanda kod okunabilirli\u011fini de art\u0131r\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>M\u00fc\u015fteriler<\/code> tablosundan sadece <code>Ad<\/code>, <code>Soyad<\/code> ve <code>Eposta<\/code> s\u00fctunlar\u0131n\u0131 \u00e7ekmek istedi\u011finizde:<\/p>\n<pre><code class=\"language-sql\">SELECT Ad, Soyad, Eposta\nFROM M\u00fc\u015fteriler;<\/code><\/pre>\n<p>Bu sorgu, <code>M\u00fc\u015fteriler<\/code> tablosundaki her m\u00fc\u015fteri i\u00e7in yaln\u0131zca belirtilen \u00fc\u00e7 s\u00fctundaki veriyi d\u00f6nd\u00fcr\u00fcr. Bu y\u00f6ntem, \u00f6zellikle \u00e7ok say\u0131da s\u00fctunu olan geni\u015f tablolarla \u00e7al\u0131\u015f\u0131rken performans\u0131 ve kaynak kullan\u0131m\u0131n\u0131 optimize etmek i\u00e7in en iyi uygulamad\u0131r.<\/p>\n<h3>Sat\u0131rlar\u0131 Filtreleme: WHERE Yan T\u00fcmcesi ile Hedefe Ula\u015f\u0131n<\/h3>\n<p>\u00c7o\u011fu zaman, bir tablodaki t\u00fcm sat\u0131rlara de\u011fil, belirli kriterlere uyan sat\u0131rlara ihtiyac\u0131m\u0131z olur. \u0130\u015fte bu noktada <code>WHERE<\/code> yan t\u00fcmcesi devreye girer. <code>WHERE<\/code> yan t\u00fcmcesi, <code>FROM<\/code> ifadesinden sonra gelir ve d\u00f6nd\u00fcr\u00fclecek sat\u0131rlar\u0131 filtrelemek i\u00e7in bir veya daha fazla ko\u015ful belirtmenizi sa\u011flar.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctun1, s\u00fctun2, ...\nFROM tablo_ad\u0131\nWHERE ko\u015ful;<\/code><\/pre>\n<p><code>ko\u015ful<\/code>, <code>TRUE<\/code> (do\u011fru) veya <code>FALSE<\/code> (yanl\u0131\u015f) olarak de\u011ferlendirilebilen bir ifadedir. Sadece <code>TRUE<\/code> olarak de\u011ferlendirilen sat\u0131rlar sonu\u00e7 k\u00fcmesine dahil edilir.<\/p>\n<h4>Kar\u015f\u0131la\u015ft\u0131rma Operat\u00f6rleri: Veriyi Kriterlere G\u00f6re S\u0131n\u0131fland\u0131rma<\/h4>\n<p><code>WHERE<\/code> yan t\u00fcmcesinde en s\u0131k kullan\u0131lanlar kar\u015f\u0131la\u015ft\u0131rma operat\u00f6rleridir:<\/p>\n<p>*   <strong><code>=<\/code> (E\u015fittir):<\/strong> Belirli bir de\u011fere e\u015fit olan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM \u00dcr\u00fcnler WHERE Fiyat = 25.00;<\/code><br \/>\n*   <strong><code>!=<\/code> veya <code><><\/code> (E\u015fit De\u011fildir):<\/strong> Belirli bir de\u011fere e\u015fit olmayan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM \u00c7al\u0131\u015fanlar WHERE DepartmanID != 3;<\/code><br \/>\n*   <strong><code>><\/code> (B\u00fcy\u00fckt\u00fcr):<\/strong> Belirli bir de\u011ferden b\u00fcy\u00fck olan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM Sipari\u015fler WHERE ToplamTutar > 100.00;<\/code><br \/>\n*   <strong><code><<\/code> (K\u00fc\u00e7\u00fckt\u00fcr):<\/strong> Belirli bir de\u011ferden k\u00fc\u00e7\u00fck olan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM \u00d6\u011frenciler WHERE Ya\u015f < 18;<\/code><br \/>\n*   <strong><code>>=<\/code> (B\u00fcy\u00fck veya E\u015fittir):<\/strong> Belirli bir de\u011fere b\u00fcy\u00fck veya e\u015fit olan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM Stok WHERE Miktar >= 50;<\/code><br \/>\n*   <strong><code><=<\/code> (K\u00fc\u00e7\u00fck veya E\u015fittir):<\/strong> Belirli bir de\u011fere k\u00fc\u00e7\u00fck veya e\u015fit olan sat\u0131rlar\u0131 se\u00e7er.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM Tarihler WHERE Tarih <= &#039;2023-01-01&#039;;<\/code><\/p>\n<h4>Mant\u0131ksal Operat\u00f6rler: Birden Fazla Ko\u015fulu Birle\u015ftirme<\/h4>\n<p>Birden fazla filtreleme ko\u015fulunu birle\u015ftirmek i\u00e7in mant\u0131ksal operat\u00f6rler kullan\u0131l\u0131r:<\/p>\n<p>*   <strong><code>AND<\/code>:<\/strong> T\u00fcm ko\u015fullar\u0131n <code>TRUE<\/code> olmas\u0131 durumunda sat\u0131r\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT Ad, Soyad FROM M\u00fc\u015fteriler WHERE \u015eehir = 'Ankara' AND Ya\u015f > 30;<\/code><br \/>\n*   <strong><code>OR<\/code>:<\/strong> Ko\u015fullardan herhangi birinin <code>TRUE<\/code> olmas\u0131 durumunda sat\u0131r\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT \u00dcr\u00fcnAd\u0131 FROM \u00dcr\u00fcnler WHERE Kategori = 'Elektronik' OR Fiyat < 50.00;<\/code><br \/>\n*   <strong><code>NOT<\/code>:<\/strong> Bir ko\u015fulun sonucunu tersine \u00e7evirir (yani <code>TRUE<\/code> ise <code>FALSE<\/code>, <code>FALSE<\/code> ise <code>TRUE<\/code> yapar).<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT * FROM \u00c7al\u0131\u015fanlar WHERE NOT DepartmanID = 1;<\/code> (DepartmanID'si 1 olmayan \u00e7al\u0131\u015fanlar)<\/p>\n<p>Mant\u0131ksal operat\u00f6rler karma\u015f\u0131k ko\u015fullar olu\u015fturmak i\u00e7in parantezlerle birle\u015ftirilebilir. Parantezler, operat\u00f6rlerin de\u011ferlendirilme s\u0131ras\u0131n\u0131 belirler.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT * FROM Sipari\u015fler WHERE (\u015eehir = '\u0130stanbul' OR \u015eehir = '\u0130zmir') AND ToplamTutar > 200;<\/code><br \/>\nBu sorgu, \u0130stanbul veya \u0130zmir'den gelen ve toplam tutar\u0131 200'den b\u00fcy\u00fck olan sipari\u015fleri getirir.<\/p>\n<h3>\u00d6zel Filtreleme Operat\u00f6rleri: Daha Esnek Sorgular<\/h3>\n<p>SQL, <code>WHERE<\/code> yan t\u00fcmcesinde kullan\u0131labilecek daha \u00f6zel operat\u00f6rler de sunar.<\/p>\n<h4>LIKE Operat\u00f6r\u00fc: Desen E\u015fle\u015ftirme ile Arama<\/h4>\n<p><code>LIKE<\/code> operat\u00f6r\u00fc, metin verilerinde belirli bir deseni aramak i\u00e7in kullan\u0131l\u0131r. \u0130ki joker karakterle birlikte kullan\u0131l\u0131r:<br \/>\n*   <strong><code>%<\/code> (Y\u00fczde i\u015fareti):<\/strong> S\u0131f\u0131r veya daha fazla karakteri temsil eder.<br \/>\n*   <strong><code>_<\/code> (Alt \u00e7izgi):<\/strong> Tek bir karakteri temsil eder.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n*   <code>SELECT Ad FROM M\u00fc\u015fteriler WHERE Ad LIKE 'A%';<\/code> (Ad\u0131 'A' ile ba\u015flayan m\u00fc\u015fteriler)<br \/>\n*   <code>SELECT Ad FROM M\u00fc\u015fteriler WHERE Ad LIKE '%an%';<\/code> (Ad\u0131nda 'an' ge\u00e7en m\u00fc\u015fteriler)<br \/>\n*   <code>SELECT Ad FROM M\u00fc\u015fteriler WHERE Ad LIKE '_li%';<\/code> (\u0130kinci harfi 'l', \u00fc\u00e7\u00fcnc\u00fc harfi 'i' olan m\u00fc\u015fteriler)<br \/>\n*   <code>SELECT Ad FROM M\u00fc\u015fteriler WHERE Ad NOT LIKE 'M%';<\/code> (Ad\u0131 'M' ile ba\u015flamayan m\u00fc\u015fteriler)<\/p>\n<h4>IN Operat\u00f6r\u00fc: Belirli De\u011ferler K\u00fcmesinde Arama<\/h4>\n<p><code>IN<\/code> operat\u00f6r\u00fc, bir s\u00fctunun belirli bir de\u011fer listesinde olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Birden fazla <code>OR<\/code> ko\u015fulu yazmaktan daha temiz bir yoldur.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n<em>   <code>SELECT <\/em> FROM \u00dcr\u00fcnler WHERE Kategori IN ('Elektronik', 'Giyim', 'Ev Aletleri');<\/code><br \/>\n<em>   <code>SELECT <\/em> FROM Sipari\u015fler WHERE M\u00fc\u015fteriID NOT IN (101, 105, 110);<\/code><\/p>\n<h4>BETWEEN Operat\u00f6r\u00fc: Aral\u0131k Bazl\u0131 Filtreleme<\/h4>\n<p><code>BETWEEN<\/code> operat\u00f6r\u00fc, bir de\u011ferin belirli bir aral\u0131kta (dahil) olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Say\u0131sal de\u011ferler, tarihler veya metinler i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n<em>   <code>SELECT <\/em> FROM \u00dcr\u00fcnler WHERE Fiyat BETWEEN 50.00 AND 150.00;<\/code> (50 ile 150 aras\u0131, 50 ve 150 dahil)<br \/>\n<em>   <code>SELECT <\/em> FROM Sipari\u015fler WHERE Sipari\u015fTarihi BETWEEN '2023-01-01' AND '2023-03-31';<\/code><br \/>\n<em>   <code>SELECT <\/em> FROM \u00c7al\u0131\u015fanlar WHERE Soyad BETWEEN 'A' AND 'Czzzz';<\/code> (Soyad\u0131 'A' ile 'C' aras\u0131nda olanlar)<\/p>\n<h4>IS NULL \/ IS NOT NULL: Eksik Veriyle \u00c7al\u0131\u015fma<\/h4>\n<p><code>NULL<\/code> de\u011feri, bir s\u00fctunda veri olmad\u0131\u011f\u0131n\u0131 veya bilinmedi\u011fini belirtir. <code>NULL<\/code> de\u011ferleri di\u011fer de\u011ferlerle kar\u015f\u0131la\u015ft\u0131r\u0131lamaz (\u00f6rne\u011fin, <code>S\u00fctun = NULL<\/code> yanl\u0131\u015f sonu\u00e7 verir). Bunun yerine <code>IS NULL<\/code> veya <code>IS NOT NULL<\/code> kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n<em>   <code>SELECT <\/em> FROM M\u00fc\u015fteriler WHERE Eposta IS NULL;<\/code> (E-posta adresi olmayan m\u00fc\u015fteriler)<br \/>\n<em>   <code>SELECT <\/em> FROM \u00dcr\u00fcnler WHERE A\u00e7\u0131klama IS NOT NULL;<\/code> (A\u00e7\u0131klamas\u0131 olan \u00fcr\u00fcnler)<\/p>\n<h3>S\u0131ralama: ORDER BY Yan T\u00fcmcesi ile Veriye D\u00fczen Verme<\/h3>\n<p><code>SELECT<\/code> ifadesiyle \u00e7ekilen veriler, varsay\u0131lan olarak veritaban\u0131 y\u00f6netim sisteminin (DBMS) verileri fiziksel olarak depolad\u0131\u011f\u0131 s\u0131raya g\u00f6re veya belirli bir indeksin s\u0131ras\u0131na g\u00f6re d\u00f6nebilir. Ancak genellikle veriyi belirli bir s\u00fctuna g\u00f6re s\u0131ralanm\u0131\u015f olarak g\u00f6rmek isteriz. <code>ORDER BY<\/code> yan t\u00fcmcesi bu i\u015f i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctun1, s\u00fctun2, ...\nFROM tablo_ad\u0131\nWHERE ko\u015ful\nORDER BY s\u00fctun_ad\u0131 [ASC|DESC], s\u00fctun_ad\u01312 [ASC|DESC], ...;<\/code><\/pre>\n<p>*   <strong><code>ASC<\/code> (Ascending - Artan):<\/strong> Varsay\u0131lan s\u0131ralama d\u00fczenidir, belirtilmese de otomatik olarak uygulan\u0131r. K\u00fc\u00e7\u00fckten b\u00fcy\u00fc\u011fe veya A'dan Z'ye s\u0131ralar.<br \/>\n*   <strong><code>DESC<\/code> (Descending - Azalan):<\/strong> B\u00fcy\u00fckten k\u00fc\u00e7\u00fc\u011fe veya Z'den A'ya s\u0131ralar.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n*   <code>SELECT Ad, Soyad, Ya\u015f FROM M\u00fc\u015fteriler ORDER BY Ya\u015f DESC;<\/code> (Ya\u015fa g\u00f6re azalan s\u0131rada)<br \/>\n*   <code>SELECT \u00dcr\u00fcnAd\u0131, Fiyat FROM \u00dcr\u00fcnler ORDER BY Fiyat ASC, \u00dcr\u00fcnAd\u0131 ASC;<\/code> (\u00d6nce fiyata g\u00f6re artan, fiyatlar e\u015fitse \u00fcr\u00fcn ad\u0131na g\u00f6re artan s\u0131rada)<\/p>\n<h3>Veriyi Gruplama: GROUP BY Yan T\u00fcmcesi ve Toplama Fonksiyonlar\u0131<\/h3>\n<p>Veritabanlar\u0131ndan sadece ham veri \u00e7ekmek yerine, genellikle \u00f6zet bilgilere ihtiya\u00e7 duyar\u0131z. \u00d6rne\u011fin, her bir departmandaki \u00e7al\u0131\u015fan say\u0131s\u0131n\u0131 veya her bir kategorideki \u00fcr\u00fcnlerin ortalama fiyat\u0131n\u0131 bilmek isteyebiliriz. <code>GROUP BY<\/code> yan t\u00fcmcesi, sat\u0131rlar\u0131 bir veya daha fazla s\u00fctunun de\u011ferlerine g\u00f6re grupland\u0131r\u0131r ve bu gruplar \u00fczerinde toplama (aggregate) fonksiyonlar\u0131 \u00e7al\u0131\u015ft\u0131rmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctun1, toplama_fonksiyonu(s\u00fctun2)\nFROM tablo_ad\u0131\nWHERE ko\u015ful\nGROUP BY s\u00fctun1;<\/code><\/pre>\n<p><code>GROUP BY<\/code> ifadesinde yer alan s\u00fctunlar, <code>SELECT<\/code> listesinde de yer almal\u0131d\u0131r (toplama fonksiyonlar\u0131 i\u00e7inde kullan\u0131lmayanlar).<\/p>\n<h4>Toplama Fonksiyonlar\u0131: Veriden \u00d6zet Bilgi \u00c7\u0131karma<\/h4>\n<p><code>GROUP BY<\/code> ile birlikte kullan\u0131lan en yayg\u0131n toplama fonksiyonlar\u0131 \u015funlard\u0131r:<\/p>\n<p><em>   <strong><code>COUNT()<\/code>:<\/strong> Bir gruptaki sat\u0131r say\u0131s\u0131n\u0131 sayar. <code>COUNT(<\/em>)<\/code> t\u00fcm sat\u0131rlar\u0131, <code>COUNT(s\u00fctun_ad\u0131)<\/code> ise <code>NULL<\/code> olmayan de\u011ferleri sayar.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT Kategori, COUNT(\u00dcr\u00fcnID) AS \u00dcr\u00fcnSay\u0131s\u0131 FROM \u00dcr\u00fcnler GROUP BY Kategori;<\/code><br \/>\n*   <strong><code>SUM()<\/code>:<\/strong> Bir gruptaki say\u0131sal bir s\u00fctunun toplam\u0131n\u0131 hesaplar.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT M\u00fc\u015fteriID, SUM(ToplamTutar) AS ToplamSipari\u015fTutar\u0131 FROM Sipari\u015fler GROUP BY M\u00fc\u015fteriID;<\/code><br \/>\n*   <strong><code>AVG()<\/code>:<\/strong> Bir gruptaki say\u0131sal bir s\u00fctunun ortalamas\u0131n\u0131 hesaplar.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT Departman, AVG(Maa\u015f) AS OrtalamaMaa\u015f FROM \u00c7al\u0131\u015fanlar GROUP BY Departman;<\/code><br \/>\n*   <strong><code>MIN()<\/code>:<\/strong> Bir gruptaki en k\u00fc\u00e7\u00fck de\u011feri bulur.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT Kategori, MIN(Fiyat) AS EnD\u00fc\u015f\u00fckFiyat FROM \u00dcr\u00fcnler GROUP BY Kategori;<\/code><br \/>\n*   <strong><code>MAX()<\/code>:<\/strong> Bir gruptaki en b\u00fcy\u00fck de\u011feri bulur.<br \/>\n    <strong>\u00d6rnek:<\/strong> <code>SELECT Kategori, MAX(Fiyat) AS EnY\u00fcksekFiyat FROM \u00dcr\u00fcnler GROUP BY Kategori;<\/code><\/p>\n<h4>Gruplanm\u0131\u015f Veriyi Filtreleme: HAVING Yan T\u00fcmcesi<\/h4>\n<p><code>WHERE<\/code> yan t\u00fcmcesi, <code>GROUP BY<\/code> i\u015flemi yap\u0131lmadan \u00f6nce tek tek sat\u0131rlar\u0131 filtrelerken, <code>HAVING<\/code> yan t\u00fcmcesi <code>GROUP BY<\/code> i\u015fleminden sonra, yani gruplar olu\u015fturulduktan sonra gruplar\u0131 filtrelemek i\u00e7in kullan\u0131l\u0131r. <code>HAVING<\/code> genellikle toplama fonksiyonlar\u0131n\u0131n sonu\u00e7lar\u0131na dayal\u0131 ko\u015fullar i\u00e7erir.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctun1, toplama_fonksiyonu(s\u00fctun2)\nFROM tablo_ad\u0131\nWHERE ko\u015ful\nGROUP BY s\u00fctun1\nHAVING grup_ko\u015fulu;<\/code><\/pre>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT Kategori, COUNT(\u00dcr\u00fcnID) AS \u00dcr\u00fcnSay\u0131s\u0131 FROM \u00dcr\u00fcnler GROUP BY Kategori HAVING COUNT(\u00dcr\u00fcnID) > 10;<\/code><br \/>\nBu sorgu, sadece 10'dan fazla \u00fcr\u00fcn\u00fc olan kategorileri ve bu kategorilerdeki \u00fcr\u00fcn say\u0131s\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h3>Sonu\u00e7lar\u0131 S\u0131n\u0131rlama: B\u00fcy\u00fck Veri K\u00fcmeleriyle \u00c7al\u0131\u015f\u0131rken<\/h3>\n<p>Bazen bir sorgunun d\u00f6nd\u00fcrece\u011fi sat\u0131r say\u0131s\u0131n\u0131 s\u0131n\u0131rlamak isteyebiliriz. Bu, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken veya sayfalama (pagination) uygulamalar\u0131nda faydal\u0131d\u0131r. Farkl\u0131 veritaban\u0131 sistemleri bu i\u015flevsellik i\u00e7in farkl\u0131 anahtar kelimeler kullan\u0131r.<\/p>\n<p>*   <strong><code>LIMIT<\/code> (MySQL, PostgreSQL, SQLite):<\/strong> Belirtilen say\u0131da sat\u0131r\u0131 d\u00f6nd\u00fcr\u00fcr. <code>OFFSET<\/code> ile birlikte kullan\u0131larak belirli bir noktadan itibaren sat\u0131rlar\u0131 atlay\u0131p sonraki sat\u0131rlar\u0131 almay\u0131 sa\u011flar.<\/p>\n<p>    <strong>\u00d6rnek:<\/strong><br \/>\n    <code>SELECT * FROM \u00dcr\u00fcnler ORDER BY Fiyat DESC LIMIT 10;<\/code> (En pahal\u0131 10 \u00fcr\u00fcn\u00fc getirir)<br \/>\n    <code>SELECT * FROM M\u00fc\u015fteriler ORDER BY M\u00fc\u015fteriID LIMIT 10 OFFSET 20;<\/code> (21. sat\u0131rdan ba\u015flayarak 10 m\u00fc\u015fteri getirir - 3. sayfa)<\/p>\n<p>*   <strong><code>TOP<\/code> (SQL Server):<\/strong> <code>SELECT<\/code> ifadesinden hemen sonra kullan\u0131larak d\u00f6nd\u00fcr\u00fclecek sat\u0131r say\u0131s\u0131n\u0131 s\u0131n\u0131rlar.<\/p>\n<p>    <strong>\u00d6rnek:<\/strong><br \/>\n    <code>SELECT TOP 10 * FROM \u00dcr\u00fcnler ORDER BY Fiyat DESC;<\/code> (En pahal\u0131 10 \u00fcr\u00fcn\u00fc getirir)<br \/>\n    <code>SELECT TOP 50 PERCENT * FROM \u00dcr\u00fcnler;<\/code> (Toplam \u00fcr\u00fcnlerin %50'sini getirir)<\/p>\n<h3>Tekrar Eden Sat\u0131rlar\u0131 Kald\u0131rma: DISTINCT Anahtar Kelimesi<\/h3>\n<p>Bazen bir s\u00fctunda veya s\u00fctun kombinasyonunda yinelenen de\u011ferler olabilir ve biz sadece benzersiz de\u011ferleri g\u00f6rmek isteyebiliriz. <code>DISTINCT<\/code> anahtar kelimesi, <code>SELECT<\/code> ifadesiyle birlikte kullan\u0131ld\u0131\u011f\u0131nda, sonu\u00e7 k\u00fcmesindeki yinelenen sat\u0131rlar\u0131 kald\u0131r\u0131r ve sadece benzersiz olanlar\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT DISTINCT s\u00fctun1, s\u00fctun2, ...\nFROM tablo_ad\u0131;<\/code><\/pre>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n*   <code>SELECT DISTINCT \u015eehir FROM M\u00fc\u015fteriler;<\/code> (M\u00fc\u015fterilerin bulundu\u011fu t\u00fcm benzersiz \u015fehirleri listeler)<br \/>\n*   <code>SELECT DISTINCT Kategori, Tedarik\u00e7iID FROM \u00dcr\u00fcnler;<\/code> (Benzersiz kategori ve tedarik\u00e7i kombinasyonlar\u0131n\u0131 listeler)<\/p>\n<h3>S\u00fctunlara ve Tablolara Takma Ad Verme: Sorgular\u0131 Anla\u015f\u0131l\u0131r K\u0131lma<\/h3>\n<p>Sorgular\u0131 daha okunabilir hale getirmek, karma\u015f\u0131k ifadelerin veya fonksiyonlar\u0131n \u00e7\u0131kt\u0131s\u0131na anlaml\u0131 isimler vermek ve birden fazla tabloyu birle\u015ftirirken s\u00fctun \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nlemek i\u00e7in takma adlar (alias) kullan\u0131l\u0131r. <code>AS<\/code> anahtar kelimesi ile takma adlar atan\u0131r, ancak <code>AS<\/code> \u00e7o\u011fu durumda iste\u011fe ba\u011fl\u0131d\u0131r.<\/p>\n<h4>S\u00fctunlara Takma Ad Verme (Column Aliasing)<\/h4>\n<p><code>SELECT<\/code> listesindeki bir s\u00fctuna veya bir ifadenin sonucuna ge\u00e7ici bir isim vermek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n*   <code>SELECT Ad AS M\u00fc\u015fteriAd\u0131, Soyad AS M\u00fc\u015fteriSoyad\u0131 FROM M\u00fc\u015fteriler;<\/code><br \/>\n*   <code>SELECT COUNT(\u00dcr\u00fcnID) AS Toplam\u00dcr\u00fcnSay\u0131s\u0131 FROM \u00dcr\u00fcnler;<\/code><br \/>\n<em>   <code>SELECT (Fiyat <\/em> Miktar) AS ToplamTutar FROM Sipari\u015fDetaylar\u0131;<\/code><\/p>\n<h4>Tablolara Takma Ad Verme (Table Aliasing)<\/h4>\n<p>\u00d6zellikle <code>JOIN<\/code> i\u015flemleri s\u0131ras\u0131nda tablo isimleri uzun oldu\u011funda veya ayn\u0131 tabloyu birden fazla kez kulland\u0131\u011f\u0131n\u0131zda (self-join) tablo takma adlar\u0131 \u00e7ok faydal\u0131d\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT m.Ad, m.Soyad FROM M\u00fc\u015fteriler AS m WHERE m.\u015eehir = 'Ankara';<\/code><br \/>\nBurada <code>M\u00fc\u015fteriler<\/code> tablosuna <code>m<\/code> takma ad\u0131 verilmi\u015ftir.<\/p>\n<h3>Birden Fazla Tablodan Veri Se\u00e7me: JOIN \u0130\u015flemleri<\/h3>\n<p>Veritabanlar\u0131 genellikle ili\u015fkiseldir, yani veriler farkl\u0131 tablolar aras\u0131nda ili\u015fkilendirilmi\u015f \u015fekilde depolan\u0131r. \u00d6rne\u011fin, m\u00fc\u015fteri bilgileri bir tabloda, sipari\u015f bilgileri ba\u015fka bir tabloda olabilir. Bu tablolar\u0131 birle\u015ftirerek anlaml\u0131 veriler elde etmek i\u00e7in <code>JOIN<\/code> i\u015flemleri kullan\u0131l\u0131r. <code>JOIN<\/code> i\u015flemi, iki veya daha fazla tablodaki sat\u0131rlar\u0131, aralar\u0131ndaki ortak bir s\u00fctun (ili\u015fki) \u00fczerinden birle\u015ftirir.<\/p>\n<p><strong>Genel Yap\u0131:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT s\u00fctunlar\nFROM tablo1\nJOIN_T\u0130P\u0130 tablo2 ON tablo1.ortak_s\u00fctun = tablo2.ortak_s\u00fctun;<\/code><\/pre>\n<h4>INNER JOIN: Ortak Kay\u0131tlar\u0131 Birle\u015ftirme<\/h4>\n<p><code>INNER JOIN<\/code>, her iki tabloda da e\u015fle\u015fen kay\u0131tlara sahip sat\u0131rlar\u0131 d\u00f6nd\u00fcr\u00fcr. E\u015fle\u015fme olmayan sat\u0131rlar sonu\u00e7 k\u00fcmesine dahil edilmez.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT M\u00fc\u015fteriler.Ad, Sipari\u015fler.Sipari\u015fTarihi FROM M\u00fc\u015fteriler INNER JOIN Sipari\u015fler ON M\u00fc\u015fteriler.M\u00fc\u015fteriID = Sipari\u015fler.M\u00fc\u015fteriID;<\/code><br \/>\nBu sorgu, sadece sipari\u015f vermi\u015f m\u00fc\u015fterilerin adlar\u0131n\u0131 ve sipari\u015f tarihlerini getirir.<\/p>\n<h4>LEFT JOIN (LEFT OUTER JOIN): Sol Tablodaki T\u00fcm Kay\u0131tlar<\/h4>\n<p><code>LEFT JOIN<\/code>, sol tablodaki t\u00fcm sat\u0131rlar\u0131 ve sa\u011f tablodaki e\u015fle\u015fen sat\u0131rlar\u0131 d\u00f6nd\u00fcr\u00fcr. Sa\u011f tabloda e\u015fle\u015fen bir kay\u0131t yoksa, sa\u011f tablonun s\u00fctunlar\u0131 i\u00e7in <code>NULL<\/code> de\u011ferleri d\u00f6nd\u00fcr\u00fcl\u00fcr.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT M\u00fc\u015fteriler.Ad, Sipari\u015fler.Sipari\u015fTarihi FROM M\u00fc\u015fteriler LEFT JOIN Sipari\u015fler ON M\u00fc\u015fteriler.M\u00fc\u015fteriID = Sipari\u015fler.M\u00fc\u015fteriID;<\/code><br \/>\nBu sorgu, t\u00fcm m\u00fc\u015fterileri (sipari\u015f vermi\u015f olsun veya olmas\u0131n) ve e\u011fer varsa sipari\u015f tarihlerini getirir. Sipari\u015fi olmayan m\u00fc\u015fteriler i\u00e7in <code>Sipari\u015fTarihi<\/code> s\u00fctunu <code>NULL<\/code> olacakt\u0131r.<\/p>\n<h4>RIGHT JOIN (RIGHT OUTER JOIN): Sa\u011f Tablodaki T\u00fcm Kay\u0131tlar<\/h4>\n<p><code>RIGHT JOIN<\/code>, <code>LEFT JOIN<\/code>'in tam tersidir. Sa\u011f tablodaki t\u00fcm sat\u0131rlar\u0131 ve sol tablodaki e\u015fle\u015fen sat\u0131rlar\u0131 d\u00f6nd\u00fcr\u00fcr. Sol tabloda e\u015fle\u015fen bir kay\u0131t yoksa, sol tablonun s\u00fctunlar\u0131 i\u00e7in <code>NULL<\/code> de\u011ferleri d\u00f6nd\u00fcr\u00fcl\u00fcr.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT M\u00fc\u015fteriler.Ad, Sipari\u015fler.Sipari\u015fTarihi FROM M\u00fc\u015fteriler RIGHT JOIN Sipari\u015fler ON M\u00fc\u015fteriler.M\u00fc\u015fteriID = Sipari\u015fler.M\u00fc\u015fteriID;<\/code><br \/>\nBu sorgu, t\u00fcm sipari\u015fleri (m\u00fc\u015fterisi olsun veya olmas\u0131n) ve e\u011fer varsa m\u00fc\u015fterinin ad\u0131n\u0131 getirir. M\u00fc\u015fterisi silinmi\u015f veya olmayan bir sipari\u015f i\u00e7in <code>M\u00fc\u015fteriler.Ad<\/code> s\u00fctunu <code>NULL<\/code> olacakt\u0131r.<\/p>\n<h4>FULL JOIN (FULL OUTER JOIN): Her \u0130ki Tablodaki T\u00fcm Kay\u0131tlar<\/h4>\n<p><code>FULL JOIN<\/code>, hem sol hem de sa\u011f tablodaki t\u00fcm sat\u0131rlar\u0131 d\u00f6nd\u00fcr\u00fcr. E\u015fle\u015fme olmayan yerlerde ilgili tablonun s\u00fctunlar\u0131 i\u00e7in <code>NULL<\/code> de\u011ferleri d\u00f6nd\u00fcr\u00fcl\u00fcr.<\/p>\n<p><strong>\u00d6rnek:<\/strong><br \/>\n<code>SELECT M\u00fc\u015fteriler.Ad, Sipari\u015fler.Sipari\u015fTarihi FROM M\u00fc\u015fteriler FULL OUTER JOIN Sipari\u015fler ON M\u00fc\u015fteriler.M\u00fc\u015fteriID = Sipari\u015fler.M\u00fc\u015fteriID;<\/code><br \/>\nBu sorgu, t\u00fcm m\u00fc\u015fterileri ve t\u00fcm sipari\u015fleri getirir. M\u00fc\u015fterisi olmayan sipari\u015fler veya sipari\u015fi olmayan m\u00fc\u015fteriler i\u00e7in ilgili s\u00fctunlar <code>NULL<\/code> olacakt\u0131r.<\/p>\n<h4>CROSS JOIN ve SELF JOIN: \u00d6zel Birle\u015ftirme Senaryolar\u0131<\/h4>\n<p>*   <strong><code>CROSS JOIN<\/code>:<\/strong> Her iki tablonun sat\u0131rlar\u0131n\u0131n t\u00fcm olas\u0131 kombinasyonlar\u0131n\u0131 (Kartezyen \u00e7arp\u0131m) d\u00f6nd\u00fcr\u00fcr. Nadiren kullan\u0131l\u0131r ve genellikle dikkatli olunmas\u0131 gerekir \u00e7\u00fcnk\u00fc \u00e7ok b\u00fcy\u00fck sonu\u00e7 k\u00fcmeleri \u00fcretebilir.<br \/>\n*   <strong><code>SELF JOIN<\/code>:<\/strong> Bir tabloyu kendi kendine birle\u015ftirmektir. Genellikle ayn\u0131 tablo i\u00e7inde ili\u015fkili sat\u0131rlar\u0131 bulmak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, ayn\u0131 departmanda \u00e7al\u0131\u015fan iki \u00e7al\u0131\u015fan\u0131 bulmak gibi.<\/p>\n<h3>Alt Sorgular (Subqueries): Sorgu \u0130\u00e7inde Sorgu<\/h3>\n<p>Alt sorgu (subquery veya inner query), ba\u015fka bir SQL sorgusu i\u00e7ine yerle\u015ftirilmi\u015f bir sorgudur. Alt sorgular, ana sorgunun bir par\u00e7as\u0131 olarak \u00e7al\u0131\u015f\u0131r ve genellikle ana sorgunun kullanaca\u011f\u0131 bir de\u011fer k\u00fcmesi veya tek bir de\u011fer d\u00f6nd\u00fcr\u00fcr. Alt sorgular <code>SELECT<\/code>, <code>INSERT<\/code>, <code>UPDATE<\/code> ve <code>DELETE<\/code> ifadelerinin yan\u0131 s\u0131ra <code>WHERE<\/code>, <code>HAVING<\/code> ve <code>FROM<\/code> yan t\u00fcmcelerinde kullan\u0131labilir.<\/p>\n<p><strong>\u00d6rnekler:<\/strong><br \/>\n*   <strong><code>WHERE<\/code> yan t\u00fcmcesinde:<\/strong> Belirli bir ortalaman\u0131n \u00fczerinde fiyat\u0131 olan \u00fcr\u00fcnleri bulma.<br \/>\n    <code>SELECT \u00dcr\u00fcnAd\u0131, Fiyat FROM \u00dcr\u00fcnler WHERE Fiyat > (SELECT AVG(Fiyat) FROM \u00dcr\u00fcnler);<\/code><br \/>\n*   <strong><code>IN<\/code> operat\u00f6r\u00fc ile:<\/strong> Belirli bir departmanda \u00e7al\u0131\u015fan m\u00fc\u015fterilerin sipari\u015flerini bulma.<br \/>\n    <code>SELECT * FROM Sipari\u015fler WHERE M\u00fc\u015fteriID IN (SELECT M\u00fc\u015fteriID FROM M\u00fc\u015fteriler WHERE Departman = 'Sat\u0131\u015f');<\/code><br \/>\n*   <strong><code>SELECT<\/code> listesinde (skaler alt sorgu):<\/strong> Her \u00fcr\u00fcn i\u00e7in o \u00fcr\u00fcn\u00fcn kategorisindeki ortalama fiyat\u0131 getirme.<br \/>\n    <code>SELECT \u00dcr\u00fcnAd\u0131, Fiyat, (SELECT AVG(Fiyat) FROM \u00dcr\u00fcnler AS U2 WHERE U2.Kategori = U1.Kategori) AS KategoriOrtalamaFiyat FROM \u00dcr\u00fcnler AS U1;<\/code><\/p>\n<h3>\u0130leri D\u00fczey SELECT Konular\u0131: Veri \u0130\u015flemede Yeni Boyutlar<\/h3>\n<p>SQL, <code>SELECT<\/code> ifadesinin g\u00fcc\u00fcn\u00fc daha da art\u0131ran geli\u015fmi\u015f \u00f6zellikler sunar.<\/p>\n<h4>Pencere Fonksiyonlar\u0131 (Window Functions)<\/h4>\n<p>Pencere fonksiyonlar\u0131, bir sorgunun sonu\u00e7 k\u00fcmesindeki ilgili sat\u0131rlar\u0131n bir \"penceresi\" \u00fczerinde hesaplamalar yapman\u0131z\u0131 sa\u011flar. <code>ROW_NUMBER()<\/code>, <code>RANK()<\/code>, <code>LAG()<\/code>, <code>LEAD()<\/code>, <code>NTILE()<\/code> gibi fonksiyonlar, s\u0131ralama, derecelendirme, hareketli ortalamalar veya belirli bir gruptaki \u00f6nceki\/sonraki sat\u0131rlar\u0131 almak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnek (<code>ROW_NUMBER()<\/code>):<\/strong><br \/>\n<code>SELECT \u00dcr\u00fcnAd\u0131, Kategori, Fiyat, ROW_NUMBER() OVER (PARTITION BY Kategori ORDER BY Fiyat DESC) AS S\u0131ra FROM \u00dcr\u00fcnler;<\/code><br \/>\nBu sorgu, her kategori i\u00e7inde \u00fcr\u00fcnleri fiyatlar\u0131na g\u00f6re s\u0131ralar ve her \u00fcr\u00fcne bir s\u0131ra numaras\u0131 verir.<\/p>\n<h4>Ortak Tablo \u0130fadeleri (CTE'ler - Common Table Expressions)<\/h4>\n<p><code>WITH<\/code> anahtar kelimesiyle tan\u0131mlanan CTE'ler, karma\u015f\u0131k sorgular\u0131 daha k\u00fc\u00e7\u00fck, okunabilir ve y\u00f6netilebilir par\u00e7alara ay\u0131rman\u0131n bir yoludur. Bir CTE, bir sorgunun y\u00fcr\u00fct\u00fclmesi s\u0131ras\u0131nda ge\u00e7ici olarak var olan ve di\u011fer sorgular taraf\u0131ndan ba\u015fvurulabilen adland\u0131r\u0131lm\u0131\u015f bir ge\u00e7ici sonu\u00e7 k\u00fcmesidir.<\/p>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-sql\">WITH Y\u00fcksekFiyatl\u0131\u00dcr\u00fcnler AS (\n    SELECT \u00dcr\u00fcnAd\u0131, Fiyat\n    FROM \u00dcr\u00fcnler\n    WHERE Fiyat > 100\n)\nSELECT * FROM Y\u00fcksekFiyatl\u0131\u00dcr\u00fcnler ORDER BY Fiyat DESC;<\/code><\/pre>\n<h4>K\u00fcme Operat\u00f6rleri (Set Operators): UNION<\/h4>\n<p>K\u00fcme operat\u00f6rleri, iki veya daha fazla <code>SELECT<\/code> ifadesinin sonu\u00e7 k\u00fcmelerini birle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. En yayg\u0131n olan\u0131 <code>UNION<\/code>'d\u0131r.<br \/>\n*   <strong><code>UNION<\/code>:<\/strong> \u0130ki veya daha fazla <code>SELECT<\/code> ifadesinin sonu\u00e7lar\u0131n\u0131 birle\u015ftirir ve yinelenen sat\u0131rlar\u0131 kald\u0131r\u0131r. <code>SELECT<\/code> listesindeki s\u00fctun say\u0131lar\u0131 ve veri tipleri ayn\u0131 olmal\u0131d\u0131r.<br \/>\n*   <strong><code>UNION ALL<\/code>:<\/strong> <code>UNION<\/code> ile ayn\u0131d\u0131r ancak yinelenen sat\u0131rlar\u0131 kald\u0131rmaz.<\/p>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT Ad, Soyad, 'M\u00fc\u015fteri' AS Tip FROM M\u00fc\u015fteriler\nUNION\nSELECT Ad, Soyad, '\u00c7al\u0131\u015fan' AS Tip FROM \u00c7al\u0131\u015fanlar;<\/code><\/pre>\n<p>Bu sorgu, m\u00fc\u015fteri ve \u00e7al\u0131\u015fan listelerini tek bir sonu\u00e7 k\u00fcmesinde birle\u015ftirir.<\/p>\n<h3>Performans \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p><code>SELECT<\/code> sorgular\u0131n\u0131n performans\u0131n\u0131 optimize etmek, b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar ve veri analizi i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>*   <strong>\u0130ndeks Kullan\u0131m\u0131:<\/strong> <code>WHERE<\/code> yan t\u00fcmcesinde s\u0131k\u00e7a kullan\u0131lan s\u00fctunlara, <code>JOIN<\/code> ko\u015fullar\u0131nda kullan\u0131lan s\u00fctunlara ve <code>ORDER BY<\/code> veya <code>GROUP BY<\/code> ifadelerindeki s\u00fctunlara indeksler eklemek sorgu performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<br \/>\n<em>   <strong><code>SELECT <\/em><\/code> Yerine Belirli S\u00fctunlar\u0131 Se\u00e7mek:<\/strong> Gereksiz yere t\u00fcm s\u00fctunlar\u0131 \u00e7ekmekten ka\u00e7\u0131n\u0131n. Yaln\u0131zca ihtiyac\u0131n\u0131z olan s\u00fctunlar\u0131 se\u00e7mek, hem a\u011f trafi\u011fini azalt\u0131r hem de veritaban\u0131n\u0131n daha az veri okumas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>WHERE<\/code> Yan T\u00fcmcesini Optimize Etmek:<\/strong> M\u00fcmk\u00fcnse, <code>WHERE<\/code> ko\u015fullar\u0131n\u0131 en k\u0131s\u0131tlay\u0131c\u0131 olandan ba\u015flayarak yaz\u0131n. Fonksiyonlar\u0131 <code>WHERE<\/code> yan t\u00fcmcesinde s\u00fctun \u00fczerinde kullanmaktan ka\u00e7\u0131n\u0131n (\u00f6rne\u011fin, <code>WHERE YEAR(Tarih) = 2023<\/code> yerine <code>WHERE Tarih BETWEEN '2023-01-01' AND '2023-12-31'<\/code>).<br \/>\n*   <strong>JOIN'leri Do\u011fru Kullanmak:<\/strong> Gereksiz <code>JOIN<\/code>'lerden ka\u00e7\u0131n\u0131n. <code>INNER JOIN<\/code> genellikle en performansl\u0131d\u0131r. <code>LEFT JOIN<\/code> veya <code>RIGHT JOIN<\/code> kullan\u0131rken, null de\u011ferlerin i\u015flenmesi performans\u0131 etkileyebilir.<br \/>\n*   <strong>Alt Sorgular\u0131 Dikkatli Kullanmak:<\/strong> Baz\u0131 durumlarda alt sorgular yerine <code>JOIN<\/code> i\u015flemleri daha performansl\u0131 olabilir. \u0130\u00e7 i\u00e7e \u00e7ok fazla alt sorgudan ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong><code>LIMIT<\/code>\/<code>TOP<\/code> Kullan\u0131m\u0131:<\/strong> Sadece ihtiyac\u0131n\u0131z olan kadar veri \u00e7ekmek, \u00f6zellikle sayfalama yaparken veya sadece ilk N sonucu g\u00f6rmek istedi\u011finizde performans\u0131 art\u0131r\u0131r.<br \/>\n*   <strong>Sorgu Planlar\u0131n\u0131 \u0130ncelemek:<\/strong> Veritaban\u0131 y\u00f6netim sistemlerinin sundu\u011fu sorgu plan\u0131 (execution plan) ara\u00e7lar\u0131n\u0131 kullanarak sorgular\u0131n\u0131z\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlay\u0131n ve darbo\u011fazlar\u0131 tespit edin.<\/p>\n<h3>Sonu\u00e7: SELECT Ustal\u0131\u011f\u0131na Giden Yol<\/h3>\n<p><code>SELECT<\/code> ifadesi, SQL'in kalbidir ve veritaban\u0131 etkile\u015fimlerinin temelini olu\u015fturur. Bu makalede, temel <code>SELECT<\/code> kullan\u0131m\u0131ndan ba\u015flayarak, sat\u0131rlar\u0131 filtreleme (<code>WHERE<\/code>), s\u0131ralama (<code>ORDER BY<\/code>), gruplama (<code>GROUP BY<\/code>, <code>HAVING<\/code>), sonu\u00e7lar\u0131 s\u0131n\u0131rlama (<code>LIMIT<\/code>\/<code>TOP<\/code>), benzersiz de\u011ferleri alma (<code>DISTINCT<\/code>), takma adlar (<code>AS<\/code>) ve en \u00f6nemlisi birden fazla tabloyu birle\u015ftirme (<code>JOIN<\/code>) gibi kritik konular\u0131 ele ald\u0131k. Ayr\u0131ca alt sorgular, pencere fonksiyonlar\u0131 ve CTE'ler gibi ileri d\u00fczey konulara da de\u011findik ve performans optimizasyonu i\u00e7in \u00f6nemli ipu\u00e7lar\u0131 sunduk.<\/p>\n<p>SQL'de <code>SELECT<\/code> komutunda ustala\u015fmak, veritabanlar\u0131ndan anlaml\u0131 bilgiler \u00e7\u0131karmak, raporlar olu\u015fturmak ve karma\u015f\u0131k veri analizi g\u00f6revlerini yerine getirmek i\u00e7in vazge\u00e7ilmezdir. Bu rehber, size bu yolculukta sa\u011flam bir temel sa\u011flamay\u0131 ama\u00e7lamaktad\u0131r. Unutmay\u0131n ki SQL \u00f6\u011frenmenin en iyi yolu pratik yapmakt\u0131r. Farkl\u0131 senaryolar \u00fczerinde sorgular yazarak, farkl\u0131 tablolarla \u00e7al\u0131\u015farak ve veritaban\u0131 y\u00f6netim sisteminizin dok\u00fcmantasyonunu inceleyerek bilginizi peki\u015ftirebilirsiniz. Veri d\u00fcnyas\u0131n\u0131n kap\u0131lar\u0131n\u0131 <code>SELECT<\/code> ile aralay\u0131n ve ke\u015ffetmeye ba\u015flay\u0131n!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi\nGiri\u015f: Veri D\u00fcnyas\u0131n\u0131n Kap\u0131s\u0131n\u0131 A\u00e7an SELECT\nVeritaban","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1505],"tags":[],"class_list":{"0":"post-33733","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-sql-2","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL&#039;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL&#039;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi\" \/>\n<meta property=\"og:description\" content=\"SQL&#039;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi Giri\u015f: Veri D\u00fcnyas\u0131n\u0131n Kap\u0131s\u0131n\u0131 A\u00e7an SELECT Veritaban\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-06T08:40:53+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi\",\"datePublished\":\"2025-11-06T08:40:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\"},\"wordCount\":2959,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"SQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\",\"name\":\"SQL'de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-06T08:40:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL'de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/","og_locale":"tr_TR","og_type":"article","og_title":"SQL'de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi","og_description":"SQL'de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi Giri\u015f: Veri D\u00fcnyas\u0131n\u0131n Kap\u0131s\u0131n\u0131 A\u00e7an SELECT Veritaban","og_url":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-06T08:40:53+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi","datePublished":"2025-11-06T08:40:53+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/"},"wordCount":2959,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["SQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/","url":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/","name":"SQL'de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-06T08:40:53+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-tablolardan-satir-secme-rehberi-select-ifadesinin-derinlemesine-incelenmesi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL&#8217;de Tablolardan Sat\u0131r Se\u00e7me Rehberi: SELECT \u0130fadesinin Derinlemesine \u0130ncelenmesi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33733"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33733\/revisions"}],"predecessor-version":[{"id":33734,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33733\/revisions\/33734"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}