{"id":37451,"date":"2026-01-05T12:40:49","date_gmt":"2026-01-05T09:40:49","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37451"},"modified":"2026-01-05T12:40:49","modified_gmt":"2026-01-05T09:40:49","slug":"sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/","title":{"rendered":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131<\/h2>\n<p>SQL (Yap\u0131sal Sorgu Dili), ili\u015fkisel veritabanlar\u0131n\u0131 y\u00f6netmek ve sorgulamak i\u00e7in kullan\u0131lan standart bir dildir. Bu dilin g\u00fcc\u00fc ve esnekli\u011fi, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde &#8220;SQL \u0130fadeleri&#8221; ad\u0131 verilen temel yap\u0131 ta\u015flar\u0131ndan gelir. SQL ifadeleri, veritaban\u0131ndan veri \u00e7ekmek, verileri d\u00f6n\u00fc\u015ft\u00fcrmek, filtrelemek, s\u0131ralamak veya g\u00fcncellemek i\u00e7in kullan\u0131lan, bir de\u011fer d\u00f6nd\u00fcren kod par\u00e7alar\u0131d\u0131r. Basit bir say\u0131dan karma\u015f\u0131k bir hesaplamaya, bir fonksiyonun sonucundan bir alt sorgunun getirdi\u011fi de\u011fere kadar her \u015fey bir SQL ifadesi olabilir.<\/p>\n<p>SQL ifadeleri olmadan, veritabanlar\u0131yla etkile\u015fimimiz sadece ham veriyi oldu\u011fu gibi g\u00f6rmekle s\u0131n\u0131rl\u0131 kal\u0131rd\u0131. Ancak ifadeler sayesinde, veriyi ihtiya\u00e7lar\u0131m\u0131za g\u00f6re \u015fekillendirebilir, anlaml\u0131 bilgiler \u00e7\u0131karabilir ve hatta veritaban\u0131ndaki verileri dinamik olarak de\u011fi\u015ftirebiliriz. Bu makalede, SQL ifadelerinin ne oldu\u011funu, farkl\u0131 t\u00fcrlerini, \u00e7e\u015fitli kullan\u0131m alanlar\u0131n\u0131 ve veritaban\u0131 performans\u0131na etkilerini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>SQL \u0130fadelerine Giri\u015f<\/h3>\n<p>SQL ifadeleri, veritaban\u0131 y\u00f6netim sistemlerinin (DBMS) sorgular\u0131 i\u015flerken bir de\u011fer \u00fcretmek i\u00e7in kulland\u0131\u011f\u0131 temel bile\u015fenlerdir. Bu de\u011ferler, say\u0131sal, metinsel, tarih\/saat veya mant\u0131ksal (boolean) olabilir. Bir ifade, tek bir sabit de\u011fer, bir s\u00fctun ad\u0131, bir operat\u00f6rle birle\u015ftirilmi\u015f iki de\u011fer veya bir fonksiyon \u00e7a\u011fr\u0131s\u0131 gibi bir\u00e7ok farkl\u0131 bi\u00e7imde olabilir.<\/p>\n<p>SQL ifadeleri, bir SQL sorgusunun veya komutunun hemen hemen her yerinde kullan\u0131labilir:<br \/>\n*   <strong>SELECT yan t\u00fcmcesinde:<\/strong> G\u00f6r\u00fcnt\u00fclenecek s\u00fctunlar\u0131 veya hesaplanacak de\u011ferleri belirtmek i\u00e7in.<br \/>\n*   <strong>WHERE yan t\u00fcmcesinde:<\/strong> Kay\u0131tlar\u0131 filtrelemek i\u00e7in ko\u015fullar olu\u015fturmakta.<br \/>\n*   <strong>HAVING yan t\u00fcmcesinde:<\/strong> Gruplanm\u0131\u015f verileri filtrelemek i\u00e7in.<br \/>\n*   <strong>ORDER BY yan t\u00fcmcesinde:<\/strong> Sorgu sonu\u00e7lar\u0131n\u0131 s\u0131ralamak i\u00e7in.<br \/>\n*   <strong>UPDATE komutunun SET yan t\u00fcmcesinde:<\/strong> Bir s\u00fctunun yeni de\u011ferini belirlemek i\u00e7in.<br \/>\n*   <strong>INSERT komutunun VALUES yan t\u00fcmcesinde:<\/strong> Eklenecek de\u011ferleri belirtmek i\u00e7in.<\/p>\n<p>Bir \u00f6rnekle a\u00e7\u0131klayal\u0131m:<br \/>\n<code>SELECT UrunAdi, Fiyat * StokMiktari AS ToplamDeger FROM Urunler WHERE Fiyat > 100;<\/code><br \/>\nBu sorguda, <code>UrunAdi<\/code> bir s\u00fctun ifadesi, <code>Fiyat * StokMiktari<\/code> bir aritmetik ifade, <code>ToplamDeger<\/code> bu ifadenin takma ad\u0131d\u0131r. <code>Fiyat > 100<\/code> ise bir kar\u015f\u0131la\u015ft\u0131rma ifadesidir. Her biri, belirli bir ba\u011flamda bir de\u011fer \u00fcretir.<\/p>\n<h3>SQL \u0130fadelerinin Temel Kategorileri<\/h3>\n<p>SQL ifadeleri, i\u00e7erdikleri bile\u015fenlere g\u00f6re \u00e7e\u015fitli kategorilere ayr\u0131labilir. Bu kategoriler, ifadelerin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve nerede kullan\u0131labilece\u011fini anlamak i\u00e7in \u00f6nemlidir.<\/p>\n<h4>Literaller (Sabitler)<\/h4>\n<p>Literaller, do\u011frudan bir de\u011fer temsil eden sabitlerdir. Bir sorguda de\u011fi\u015fmez bir de\u011fer belirtmek istedi\u011fimizde kullan\u0131l\u0131rlar.<\/p>\n<p>*   <strong>Say\u0131sal Literaller:<\/strong> Tam say\u0131lar (INTEGER), ondal\u0131k say\u0131lar (DECIMAL, FLOAT).<br \/>\n    *   \u00d6rnek: <code>123<\/code>, <code>3.14<\/code>, <code>-500<\/code><br \/>\n*   <strong>Karakter Literalleri:<\/strong> Tek t\u0131rnaklar aras\u0131na yaz\u0131lan metin dizileri.<br \/>\n    *   \u00d6rnek: <code>'Merhaba D\u00fcnya'<\/code>, <code>'SQL \u0130fadeleri'<\/code>, <code>'A'<\/code><br \/>\n*   <strong>Tarih\/Saat Literalleri:<\/strong> Tek t\u0131rnaklar aras\u0131na yaz\u0131lan tarih ve\/veya saat de\u011ferleri. Format veritaban\u0131na g\u00f6re de\u011fi\u015febilir.<br \/>\n    *   \u00d6rnek: <code>'2023-10-26'<\/code>, <code>'15:30:00'<\/code>, <code>'2023-10-26 15:30:00'<\/code><br \/>\n*   <strong>Boolean Literalleri:<\/strong> Do\u011fru veya yanl\u0131\u015f de\u011ferleri.<br \/>\n    *   \u00d6rnek: <code>TRUE<\/code>, <code>FALSE<\/code> (baz\u0131 sistemlerde <code>1<\/code> ve <code>0<\/code> da kullan\u0131labilir)<br \/>\n*   <strong>NULL Literali:<\/strong> Bilinmeyen veya mevcut olmayan bir de\u011feri temsil eder.<br \/>\n    *   \u00d6rnek: <code>NULL<\/code><\/p>\n<h4>S\u00fctun \u0130fadeleri<\/h4>\n<p>Bir tablodaki belirli bir s\u00fctunun de\u011ferini temsil eder. Bir sorguda en s\u0131k kullan\u0131lan ifade t\u00fcr\u00fcd\u00fcr.<br \/>\n*   \u00d6rnek: <code>SELECT MusteriAdi FROM Musteriler;<\/code> (Burada <code>MusteriAdi<\/code> bir s\u00fctun ifadesidir.)<\/p>\n<h4>Operat\u00f6rler<\/h4>\n<p>Operat\u00f6rler, bir veya daha fazla ifade \u00fczerinde i\u015flem yaparak yeni bir de\u011fer \u00fcreten sembollerdir.<\/p>\n<p>*   <strong>Aritmetik Operat\u00f6rler:<\/strong> Say\u0131sal de\u011ferler \u00fczerinde matematiksel i\u015flemler yapar.<br \/>\n    <em>   <code>+<\/code> (Toplama), <code>-<\/code> (\u00c7\u0131karma), <code><\/em><\/code> (\u00c7arpma), <code>\/<\/code> (B\u00f6lme), <code>%<\/code> (Mod\u00fcl\u00fcs &#8211; kalan\u0131 bulma)<br \/>\n    <em>   \u00d6rnek: <code>SELECT Fiyat <\/em> Miktar AS ToplamTutar FROM SiparisDetaylari;<\/code><br \/>\n*   <strong>Kar\u015f\u0131la\u015ft\u0131rma Operat\u00f6rleri:<\/strong> \u0130ki ifadeyi kar\u015f\u0131la\u015ft\u0131r\u0131r ve <code>TRUE<\/code>, <code>FALSE<\/code> veya <code>NULL<\/code> de\u011feri d\u00f6nd\u00fcr\u00fcr. Genellikle <code>WHERE<\/code> ve <code>HAVING<\/code> yan t\u00fcmcelerinde ko\u015ful olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.<br \/>\n    *   <code>=<\/code> (E\u015fit), <code>!=<\/code> veya <code><><\/code> (E\u015fit De\u011fil), <code>><\/code> (B\u00fcy\u00fckt\u00fcr), <code><<\/code> (K\u00fc\u00e7\u00fckt\u00fcr), <code>>=<\/code> (B\u00fcy\u00fck E\u015fit), <code><=<\/code> (K\u00fc\u00e7\u00fck E\u015fit)<br \/>\n    *   \u00d6rnek: <code>SELECT UrunAdi FROM Urunler WHERE StokMiktari < 10;<\/code><br \/>\n*   <strong>Mant\u0131ksal Operat\u00f6rler:<\/strong> Boolean ifadeleri birle\u015ftirir veya tersine \u00e7evirir.<br \/>\n    *   <code>AND<\/code>: Her iki ko\u015ful da do\u011fruysa <code>TRUE<\/code> d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <code>OR<\/code>: Ko\u015fullardan en az biri do\u011fruysa <code>TRUE<\/code> d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <code>NOT<\/code>: Bir ko\u015fulun mant\u0131ksal tersini d\u00f6nd\u00fcr\u00fcr.<br \/>\n    <em>   \u00d6rnek: <code>SELECT <\/em> FROM Calisanlar WHERE Maas > 5000 AND Departman = 'IT';<\/code><br \/>\n*   <strong>Birle\u015ftirme Operat\u00f6r\u00fc:<\/strong> Metin dizilerini birle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. \u00c7o\u011fu veritaban\u0131nda <code>||<\/code> (\u00e7ift dikey \u00e7izgi) kullan\u0131l\u0131rken, SQL Server'da <code>+<\/code> sembol\u00fc bu ama\u00e7la kullan\u0131l\u0131r.<br \/>\n    *   \u00d6rnek (PostgreSQL\/Oracle\/MySQL): <code>SELECT Ad || ' ' || Soyad AS TamAd FROM Musteriler;<\/code><br \/>\n    *   \u00d6rnek (SQL Server): <code>SELECT Ad + ' ' + Soyad AS TamAd FROM Musteriler;<\/code><br \/>\n*   <strong>Di\u011fer Operat\u00f6rler:<\/strong><br \/>\n    *   <code>LIKE<\/code>: Metin desen e\u015fle\u015ftirmesi i\u00e7in kullan\u0131l\u0131r (<code>%<\/code> herhangi bir karakter dizisini, <code>_<\/code> tek bir karakteri temsil eder).<br \/>\n        *   \u00d6rnek: <code>WHERE UrunAdi LIKE 'B%';<\/code> (B ile ba\u015flayan \u00fcr\u00fcn adlar\u0131)<br \/>\n    *   <code>IN<\/code>: Bir de\u011ferin bir liste i\u00e7inde olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n        *   \u00d6rnek: <code>WHERE Kategori IN ('Elektronik', 'Giyim');<\/code><br \/>\n    *   <code>BETWEEN<\/code>: Bir de\u011ferin belirli bir aral\u0131kta olup olmad\u0131\u011f\u0131n\u0131 kontrol eder (dahil).<br \/>\n        *   \u00d6rnek: <code>WHERE Fiyat BETWEEN 50 AND 100;<\/code><br \/>\n    *   <code>IS NULL<\/code> \/ <code>IS NOT NULL<\/code>: Bir de\u011ferin <code>NULL<\/code> olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n        *   \u00d6rnek: <code>WHERE Eposta IS NULL;<\/code><br \/>\n    *   <code>EXISTS<\/code>: Bir alt sorgunun herhangi bir sat\u0131r d\u00f6nd\u00fcr\u00fcp d\u00f6nd\u00fcrmedi\u011fini kontrol eder.<\/p>\n<h4>Fonksiyonlar<\/h4>\n<p>Fonksiyonlar, bir veya daha fazla arg\u00fcman alarak belirli bir i\u015flemi ger\u00e7ekle\u015ftiren ve bir de\u011fer d\u00f6nd\u00fcren \u00f6nceden tan\u0131mlanm\u0131\u015f kod bloklar\u0131d\u0131r. SQL'de iki ana fonksiyon t\u00fcr\u00fc bulunur: tek sat\u0131r fonksiyonlar\u0131 ve \u00e7ok sat\u0131rl\u0131 (grup) fonksiyonlar\u0131.<\/p>\n<p>*   <strong>Tek Sat\u0131r Fonksiyonlar\u0131:<\/strong> Her bir girdi sat\u0131r\u0131 i\u00e7in bir \u00e7\u0131kt\u0131 de\u011feri \u00fcretirler. Sonu\u00e7 k\u00fcmesindeki sat\u0131r say\u0131s\u0131n\u0131 de\u011fi\u015ftirmezler.<br \/>\n    *   <strong>Say\u0131sal Fonksiyonlar:<\/strong><br \/>\n        *   <code>ABS(say\u0131)<\/code>: Mutlak de\u011feri d\u00f6nd\u00fcr\u00fcr.<br \/>\n        *   <code>ROUND(say\u0131, ondal\u0131k)<\/code>: Say\u0131y\u0131 belirtilen ondal\u0131k basama\u011fa yuvarlar.<br \/>\n        *   <code>CEIL(say\u0131)<\/code>: Say\u0131y\u0131 yukar\u0131 do\u011fru en yak\u0131n tam say\u0131ya yuvarlar.<br \/>\n        *   <code>FLOOR(say\u0131)<\/code>: Say\u0131y\u0131 a\u015fa\u011f\u0131 do\u011fru en yak\u0131n tam say\u0131ya yuvarlar.<br \/>\n        *   <code>MOD(say\u0131, b\u00f6len)<\/code>: Kalan\u0131 d\u00f6nd\u00fcr\u00fcr (mod\u00fcl\u00fcs).<br \/>\n        *   <code>POWER(taban, \u00fcs)<\/code>: \u00dcsl\u00fc say\u0131y\u0131 hesaplar.<br \/>\n        *   <code>SQRT(say\u0131)<\/code>: Karek\u00f6k\u00fc hesaplar.<br \/>\n        <em>   \u00d6rnek: <code>SELECT UrunAdi, ROUND(Fiyat <\/em> 1.08, 2) AS KDVliFiyat FROM Urunler;<\/code><br \/>\n    *   <strong>Karakter (Metin) Fonksiyonlar\u0131:<\/strong><br \/>\n        *   <code>LENGTH(metin)<\/code>: Metin dizisinin uzunlu\u011funu d\u00f6nd\u00fcr\u00fcr (baz\u0131 sistemlerde <code>LEN<\/code> veya <code>CHAR_LENGTH<\/code>).<br \/>\n        *   <code>SUBSTR(metin, ba\u015flang\u0131\u00e7, uzunluk)<\/code>: Metin dizisinden bir alt dizeyi \u00e7\u0131kar\u0131r (baz\u0131 sistemlerde <code>SUBSTRING<\/code>).<br \/>\n        *   <code>UPPER(metin)<\/code>: Metni b\u00fcy\u00fck harfe d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n        *   <code>LOWER(metin)<\/code>: Metni k\u00fc\u00e7\u00fck harfe d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n        *   <code>TRIM(metin)<\/code>: Metnin ba\u015f\u0131ndaki ve sonundaki bo\u015fluklar\u0131 kald\u0131r\u0131r.<br \/>\n        *   <code>CONCAT(metin1, metin2, ...)<\/code>: Metin dizilerini birle\u015ftirir (baz\u0131 sistemlerde <code>||<\/code> veya <code>+<\/code> operat\u00f6rleri tercih edilir).<br \/>\n        *   <code>REPLACE(metin, aranacak, yeni)<\/code>: Metin i\u00e7indeki bir alt dizeyi ba\u015fka bir alt dizeyle de\u011fi\u015ftirir.<br \/>\n        *   \u00d6rnek: <code>SELECT UPPER(MusteriAdi) AS BuyukHarfAd FROM Musteriler;<\/code><br \/>\n    *   <strong>Tarih\/Saat Fonksiyonlar\u0131:<\/strong><br \/>\n        *   <code>CURRENT_DATE<\/code>: Mevcut tarihi d\u00f6nd\u00fcr\u00fcr.<br \/>\n        *   <code>CURRENT_TIMESTAMP<\/code>: Mevcut tarih ve saati d\u00f6nd\u00fcr\u00fcr.<br \/>\n        *   <code>DATE_ADD(tarih, INTERVAL de\u011fer birim)<\/code> (MySQL) \/ <code>DATEADD(birim, de\u011fer, tarih)<\/code> (SQL Server): Tarihe belirli bir zaman aral\u0131\u011f\u0131 ekler.<br \/>\n        *   <code>EXTRACT(birim FROM tarih)<\/code> (PostgreSQL\/Oracle): Tarih\/saat de\u011ferinden belirli bir par\u00e7ay\u0131 (y\u0131l, ay, g\u00fcn vb.) \u00e7\u0131kar\u0131r.<br \/>\n        *   <code>DATEDIFF(birim, tarih1, tarih2)<\/code> (SQL Server\/MySQL): \u0130ki tarih aras\u0131ndaki fark\u0131 belirtilen birimde d\u00f6nd\u00fcr\u00fcr.<br \/>\n        *   \u00d6rnek: <code>SELECT SiparisTarihi, DATE_ADD(SiparisTarihi, INTERVAL 7 DAY) AS TeslimTarihi FROM Siparisler;<\/code><br \/>\n    *   <strong>D\u00f6n\u00fc\u015f\u00fcm Fonksiyonlar\u0131:<\/strong> Bir veri t\u00fcr\u00fcn\u00fc ba\u015fka bir veri t\u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n        *   <code>CAST(ifade AS veri_t\u00fcr\u00fc)<\/code>: Bir ifadeyi belirtilen veri t\u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n        *   <code>CONVERT(veri_t\u00fcr\u00fc, ifade, stil)<\/code> (SQL Server): <code>CAST<\/code> ile benzer i\u015flev g\u00f6r\u00fcr, ancak stil parametresiyle formatlama se\u00e7enekleri sunar.<br \/>\n        *   \u00d6rnek: <code>SELECT CAST(Fiyat AS DECIMAL(10, 2)) FROM Urunler;<\/code><br \/>\n    *   <strong>Genel Fonksiyonlar:<\/strong><br \/>\n        *   <code>COALESCE(ifade1, ifade2, ...)<\/code>: <code>NULL<\/code> olmayan ilk ifadeyi d\u00f6nd\u00fcr\u00fcr.<br \/>\n        *   <code>NVL(ifade1, ifade2)<\/code> (Oracle): <code>COALESCE<\/code> ile benzer, ancak yaln\u0131zca iki arg\u00fcman al\u0131r.<br \/>\n        *   \u00d6rnek: <code>SELECT COALESCE(Telefon, Eposta, 'Bilgi Yok') AS IletisimBilgisi FROM Musteriler;<\/code><\/p>\n<p>*   <strong>\u00c7ok Sat\u0131rl\u0131 (Grup) Fonksiyonlar\u0131 (Aggregate Functions):<\/strong> Bir grup sat\u0131r \u00fczerinde i\u015flem yaparak tek bir \u00f6zet de\u011feri d\u00f6nd\u00fcr\u00fcrler. Genellikle <code>GROUP BY<\/code> yan t\u00fcmcesiyle birlikte kullan\u0131l\u0131rlar.<br \/>\n    <em>   <code>COUNT(s\u00fctun)<\/code>: Bir s\u00fctundaki <code>NULL<\/code> olmayan sat\u0131rlar\u0131n say\u0131s\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr. <code>COUNT(<\/em>)<\/code> t\u00fcm sat\u0131rlar\u0131 sayar.<br \/>\n    *   <code>SUM(s\u00fctun)<\/code>: Bir s\u00fctundaki say\u0131sal de\u011ferlerin toplam\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <code>AVG(s\u00fctun)<\/code>: Bir s\u00fctundaki say\u0131sal de\u011ferlerin ortalamas\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <code>MIN(s\u00fctun)<\/code>: Bir s\u00fctundaki en k\u00fc\u00e7\u00fck de\u011feri d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   <code>MAX(s\u00fctun)<\/code>: Bir s\u00fctundaki en b\u00fcy\u00fck de\u011feri d\u00f6nd\u00fcr\u00fcr.<br \/>\n    *   \u00d6rnek: <code>SELECT Kategori, AVG(Fiyat) AS OrtalamaFiyat FROM Urunler GROUP BY Kategori;<\/code><\/p>\n<h4>Ko\u015fullu \u0130fadeler (CASE \u0130fadesi)<\/h4>\n<p><code>CASE<\/code> ifadesi, SQL'in en g\u00fc\u00e7l\u00fc ve esnek ifadelerinden biridir. Bir dizi ko\u015fulu de\u011ferlendirerek, ilk do\u011fru olan ko\u015fula kar\u015f\u0131l\u0131k gelen de\u011feri d\u00f6nd\u00fcr\u00fcr. <code>IF-THEN-ELSE<\/code> mant\u0131\u011f\u0131na benzer.<\/p>\n<p>\u0130ki ana bi\u00e7imi vard\u0131r:<br \/>\n1.  <strong>Basit CASE \u0130fadesi:<\/strong> Bir s\u00fctunun veya ifadenin de\u011ferini belirli sabit de\u011ferlerle kar\u015f\u0131la\u015ft\u0131r\u0131r.<\/p>\n<pre><code class=\"language-sql\">CASE S\u00fctunAdi\n        WHEN Deger1 THEN Sonuc1\n        WHEN Deger2 THEN Sonuc2\n        ELSE VarsayilanSonuc\n    END<\/code><\/pre>\n<p>2.  <strong>Aranan (Searched) CASE \u0130fadesi:<\/strong> Her <code>WHEN<\/code> yan t\u00fcmcesinde ba\u011f\u0131ms\u0131z bir ko\u015ful belirtir. Bu daha esnek bir kullan\u0131md\u0131r.<\/p>\n<pre><code class=\"language-sql\">CASE\n        WHEN Kosul1 THEN Sonuc1\n        WHEN Kosul2 THEN Sonuc2\n        ELSE VarsayilanSonuc\n    END<\/code><\/pre>\n<p>*   \u00d6rnek:<\/p>\n<pre><code class=\"language-sql\">SELECT UrunAdi, StokMiktari,\n           CASE\n               WHEN StokMiktari > 50 THEN 'Y\u00fcksek Stok'\n               WHEN StokMiktari BETWEEN 10 AND 50 THEN 'Orta Stok'\n               ELSE 'D\u00fc\u015f\u00fck Stok'\n           END AS StokDurumu\n    FROM Urunler;<\/code><\/pre>\n<p><code>CASE<\/code> ifadeleri, raporlama, veri kategorizasyonu ve dinamik hesaplamalar i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<h4>Alt Sorgular (Subqueries)<\/h4>\n<p>Bir SQL sorgusu i\u00e7inde ba\u015fka bir SQL sorgusu kullan\u0131lmas\u0131na alt sorgu denir. Alt sorgular, bir ifadenin par\u00e7as\u0131 olarak bir de\u011fer veya de\u011fer k\u00fcmesi d\u00f6nd\u00fcrebilirler.<\/p>\n<p>*   <strong>Tek De\u011fer D\u00f6nd\u00fcren Alt Sorgular:<\/strong> <code>SELECT<\/code>, <code>WHERE<\/code>, <code>HAVING<\/code>, <code>UPDATE SET<\/code> gibi yerlerde tek bir de\u011fer beklenen durumlarda kullan\u0131l\u0131r.<br \/>\n    *   \u00d6rnek: <code>SELECT UrunAdi FROM Urunler WHERE Fiyat > (SELECT AVG(Fiyat) FROM Urunler);<\/code><br \/>\n    *   Burada <code>(SELECT AVG(Fiyat) FROM Urunler)<\/code> alt sorgusu, t\u00fcm \u00fcr\u00fcnlerin ortalama fiyat\u0131n\u0131 d\u00f6nd\u00fcren tek bir say\u0131sal ifadedir.<br \/>\n*   <strong>De\u011fer Listesi D\u00f6nd\u00fcren Alt Sorgular:<\/strong> <code>IN<\/code> veya <code>EXISTS<\/code> operat\u00f6rleriyle birlikte kullan\u0131l\u0131r.<br \/>\n    *   \u00d6rnek: <code>SELECT MusteriAdi FROM Musteriler WHERE MusteriID IN (SELECT MusteriID FROM Siparisler WHERE SiparisTarihi = '2023-10-26');<\/code><\/p>\n<h3>SQL \u0130fadelerinin Kullan\u0131m Alanlar\u0131 ve \u00d6rnekler<\/h3>\n<p>SQL ifadeleri, SQL komutlar\u0131n\u0131n her yerinde veri manip\u00fclasyonu ve sorgulama i\u00e7in temel bir rol oynar.<\/p>\n<h4>SELECT \u0130fadesinde Veri Se\u00e7imi ve D\u00f6n\u00fc\u015ft\u00fcrme<\/h4>\n<p><code>SELECT<\/code> yan t\u00fcmcesi, ifadelerin en yayg\u0131n kullan\u0131ld\u0131\u011f\u0131 yerdir. S\u00fctunlar\u0131 se\u00e7mek, yeni hesaplanm\u0131\u015f s\u00fctunlar olu\u015fturmak ve veriyi formatlamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>Hesaplamal\u0131 S\u00fctunlar:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT UrunAdi, Fiyat, Miktar, (Fiyat * Miktar) AS ToplamKalemTutari\n    FROM SiparisDetaylari;<\/code><\/pre>\n<p>*   <strong>Fonksiyonlarla Veri Formatlama:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT MusteriAdi, UPPER(SUBSTR(MusteriAdi, 1, 1)) || LOWER(SUBSTR(MusteriAdi, 2)) AS FormatliAd\n    FROM Musteriler;<\/code><\/pre>\n<p>    Bu \u00f6rnekte, m\u00fc\u015fteri ad\u0131n\u0131n ilk harfini b\u00fcy\u00fck, di\u011ferlerini k\u00fc\u00e7\u00fck yapar ve birle\u015ftirir.<br \/>\n*   <strong>CASE ile Dinamik S\u00fctunlar:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT CalisanAdi, Maas,\n           CASE\n               WHEN Maas < 3000 THEN 'D\u00fc\u015f\u00fck Gelir'\n               WHEN Maas BETWEEN 3000 AND 6000 THEN 'Orta Gelir'\n               ELSE 'Y\u00fcksek Gelir'\n           END AS GelirSeviyesi\n    FROM Calisanlar;<\/code><\/pre>\n<h4>WHERE ve HAVING Yan T\u00fcmcelerinde Ko\u015fullu Filtreleme<\/h4>\n<p><code>WHERE<\/code> ve <code>HAVING<\/code> yan t\u00fcmceleri, sorgu sonu\u00e7lar\u0131n\u0131 belirli ko\u015fullara g\u00f6re filtrelemek i\u00e7in boolean ifadeler kullan\u0131r.<\/p>\n<p>*   <strong>Tek Sat\u0131r Ko\u015fullar\u0131 (WHERE):<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT UrunAdi, Fiyat\n    FROM Urunler\n    WHERE Fiyat > 50 AND Kategori = 'Elektronik';<\/code><\/pre>\n<p>    Burada <code>Fiyat > 50<\/code> ve <code>Kategori = 'Elektronik'<\/code> birer kar\u015f\u0131la\u015ft\u0131rma ifadesidir ve <code>AND<\/code> operat\u00f6r\u00fcyle birle\u015ftirilmi\u015ftir.<br \/>\n*   <strong>Grup Ko\u015fullar\u0131 (HAVING):<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT Kategori, COUNT(*) AS UrunSayisi, AVG(Fiyat) AS OrtalamaFiyat\n    FROM Urunler\n    GROUP BY Kategori\n    HAVING COUNT(*) > 5 AND AVG(Fiyat) > 100;<\/code><\/pre>\n<p>    <code>HAVING<\/code> yan t\u00fcmcesinde <code>COUNT(*)<\/code> ve <code>AVG(Fiyat)<\/code> gibi grup fonksiyonlar\u0131n\u0131n sonu\u00e7lar\u0131 \u00fczerinde filtreleme yap\u0131l\u0131r.<\/p>\n<h4>ORDER BY Yan T\u00fcmcesinde S\u0131ralama<\/h4>\n<p><code>ORDER BY<\/code> yan t\u00fcmcesi, sorgu sonu\u00e7lar\u0131n\u0131 bir veya daha fazla s\u00fctun veya ifadeye g\u00f6re s\u0131ralamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>\u0130fadeye G\u00f6re S\u0131ralama:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT UrunAdi, Fiyat, StokMiktari\n    FROM Urunler\n    ORDER BY (Fiyat * StokMiktari) DESC; -- Toplam de\u011fere g\u00f6re azalan s\u0131ralama<\/code><\/pre>\n<p>*   <strong>Fonksiyon Sonu\u00e7lar\u0131na G\u00f6re S\u0131ralama:<\/strong><\/p>\n<pre><code class=\"language-sql\">SELECT MusteriAdi, LENGTH(MusteriAdi) AS AdUzunlugu\n    FROM Musteriler\n    ORDER BY LENGTH(MusteriAdi) ASC; -- Ad uzunlu\u011funa g\u00f6re artan s\u0131ralama<\/code><\/pre>\n<h4>UPDATE \u0130fadesinde Veri G\u00fcncelleme<\/h4>\n<p><code>UPDATE<\/code> komutunun <code>SET<\/code> yan t\u00fcmcesi, bir s\u00fctunun de\u011ferini yeni bir ifadeyle de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>S\u00fctun De\u011ferini \u0130fadeyle G\u00fcncelleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">UPDATE Urunler\n    SET Fiyat = Fiyat * 1.10 -- Fiyat\u0131 %10 art\u0131r\n    WHERE Kategori = 'Kitap';<\/code><\/pre>\n<p>*   <strong>Fonksiyon Kullanarak G\u00fcncelleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">UPDATE Calisanlar\n    SET Eposta = LOWER(REPLACE(Ad, ' ', '.')) || '@sirket.com'\n    WHERE Eposta IS NULL;<\/code><\/pre>\n<h4>INSERT \u0130fadesinde Veri Ekleme<\/h4>\n<p><code>INSERT<\/code> komutunun <code>VALUES<\/code> yan t\u00fcmcesi, eklenecek her bir s\u00fctun i\u00e7in bir ifade belirtebilir.<\/p>\n<p>*   <strong>\u0130fadeyle Veri Ekleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">INSERT INTO Loglar (LogTarihi, Mesaj)\n    VALUES (CURRENT_TIMESTAMP, 'Yeni kullan\u0131c\u0131 kayd\u0131 yap\u0131ld\u0131.');<\/code><\/pre>\n<p>    Burada <code>CURRENT_TIMESTAMP<\/code> bir tarih\/saat fonksiyonu ifadesidir.<br \/>\n*   <strong>Hesaplanm\u0131\u015f De\u011ferlerle Ekleme:<\/strong><\/p>\n<pre><code class=\"language-sql\">INSERT INTO SiparisDetaylari (SiparisID, UrunID, Miktar, BirimFiyat, ToplamTutar)\n    VALUES (101, 205, 3, 25.50, (3 * 25.50));<\/code><\/pre>\n<h3>Geli\u015fmi\u015f SQL \u0130fadeleri ve Performans \u0130pu\u00e7lar\u0131<\/h3>\n<p>SQL ifadelerini etkin bir \u015fekilde kullanmak, sadece do\u011fru sonu\u00e7lar almakla kalmaz, ayn\u0131 zamanda sorgu performans\u0131n\u0131 da \u00f6nemli \u00f6l\u00e7\u00fcde etkiler.<\/p>\n<h4>\u0130fade Optimizasyonu<\/h4>\n<p>*   <strong>\u0130ndeks Kullan\u0131m\u0131:<\/strong> <code>WHERE<\/code> yan t\u00fcmcesindeki ifadeler, veritaban\u0131n\u0131n indeksleri kullanma yetene\u011fini etkileyebilir. Bir s\u00fctun \u00fczerinde bir fonksiyon kullanmak (\u00f6rn: <code>WHERE UPPER(SutunAdi) = 'DEGER'<\/code>), genellikle o s\u00fctun \u00fczerindeki indeksin kullan\u0131lmas\u0131n\u0131 engeller ve tam tablo taramas\u0131na neden olabilir. M\u00fcmk\u00fcnse, fonksiyonlar\u0131 <code>WHERE<\/code> yan t\u00fcmcesinin sa\u011f taraf\u0131na ta\u015f\u0131maya \u00e7al\u0131\u015f\u0131n veya fonksiyon tabanl\u0131 indeksler olu\u015fturmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<br \/>\n    *   K\u00f6t\u00fc: <code>WHERE YEAR(SiparisTarihi) = 2023;<\/code> (\u0130ndeks kullan\u0131lamayabilir)<br \/>\n    *   \u0130yi: <code>WHERE SiparisTarihi BETWEEN '2023-01-01' AND '2023-12-31';<\/code> (\u0130ndeks kullan\u0131labilir)<br \/>\n*   <strong>Karma\u015f\u0131k \u0130fadelerden Ka\u00e7\u0131nma:<\/strong> \u00c7ok karma\u015f\u0131k veya i\u00e7 i\u00e7e ifadeler, sorgu iyile\u015ftiricinin (optimizer) i\u015fini zorla\u015ft\u0131rabilir. Okunabilirli\u011fi ve bak\u0131m\u0131 kolayla\u015ft\u0131rmak i\u00e7in karma\u015f\u0131k mant\u0131\u011f\u0131 CTE'ler (Common Table Expressions) veya view'lar kullanarak par\u00e7alara ay\u0131rmak faydal\u0131 olabilir.<br \/>\n*   <strong>Alt Sorgular\u0131n Performans\u0131:<\/strong> Alt sorgular baz\u0131 durumlarda kullan\u0131\u015fl\u0131 olsa da, b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde performans sorunlar\u0131na yol a\u00e7abilir. M\u00fcmk\u00fcnse, <code>JOIN<\/code> i\u015flemleri genellikle alt sorgulardan daha verimlidir. \u0130li\u015fkili alt sorgular (correlated subqueries) \u00f6zellikle dikkat gerektirir, \u00e7\u00fcnk\u00fc d\u0131\u015f sorgunun her sat\u0131r\u0131 i\u00e7in tekrar tekrar \u00e7al\u0131\u015ft\u0131r\u0131labilirler.<\/p>\n<h4>Veritaban\u0131 Sistemleri Aras\u0131ndaki Farkl\u0131l\u0131klar<\/h4>\n<p>SQL ifadeleri ve fonksiyonlar\u0131, SQL standard\u0131na uygun olsa da, farkl\u0131 veritaban\u0131 y\u00f6netim sistemleri (DBMS) aras\u0131nda baz\u0131 sentaks ve i\u015flevsel farkl\u0131l\u0131klar g\u00f6sterebilir.<\/p>\n<p>*   <strong>Fonksiyon \u0130simleri:<\/strong> \u00d6rne\u011fin, metin uzunlu\u011funu almak i\u00e7in Oracle'da <code>LENGTH()<\/code>, SQL Server'da <code>LEN()<\/code>, MySQL'de <code>LENGTH()<\/code> veya <code>CHAR_LENGTH()<\/code> kullan\u0131labilir. Tarih\/saat fonksiyonlar\u0131 ve d\u00f6n\u00fc\u015f\u00fcm fonksiyonlar\u0131 da s\u0131kl\u0131kla farkl\u0131l\u0131k g\u00f6sterir.<br \/>\n*   <strong>Operat\u00f6r Farkl\u0131l\u0131klar\u0131:<\/strong> String birle\u015ftirme operat\u00f6r\u00fc (<code>||<\/code> vs <code>+<\/code>) en bilinen \u00f6rneklerdendir.<br \/>\n*   <strong>NULL De\u011fer \u0130\u015fleme:<\/strong> <code>NULL<\/code> de\u011ferlerin matematiksel veya mant\u0131ksal i\u015flemler \u00fczerindeki etkisi genellikle standart olsa da, <code>NULL<\/code> de\u011ferleri y\u00f6netmek i\u00e7in kullan\u0131lan fonksiyonlar (Oracle'da <code>NVL<\/code>, SQL Server'da <code>ISNULL<\/code>, \u00e7o\u011fu sistemde <code>COALESCE<\/code>) farkl\u0131l\u0131k g\u00f6sterebilir.<br \/>\n*   <strong>CASE Benzeri Yap\u0131lar:<\/strong> <code>CASE<\/code> ifadesi evrensel olsa da, baz\u0131 sistemler (\u00f6rn: SQL Server'da <code>IIF<\/code>) daha k\u0131sa sentaks sa\u011flayan \u00f6zel ko\u015fullu fonksiyonlar sunabilir.<\/p>\n<h3>G\u00fcvenlik ve Hata Y\u00f6netimi<\/h3>\n<p>SQL ifadelerini kullan\u0131rken g\u00fcvenlik ve hata y\u00f6netimi konular\u0131 da g\u00f6z \u00f6n\u00fcnde bulundurulmal\u0131d\u0131r.<\/p>\n<p>*   <strong>SQL Enjeksiyonu Riski:<\/strong> Kullan\u0131c\u0131 girdisini do\u011frudan SQL ifadelerine dahil etmek, SQL enjeksiyonu sald\u0131r\u0131lar\u0131na davetiye \u00e7\u0131karabilir. Bu, k\u00f6t\u00fc niyetli kullan\u0131c\u0131lar\u0131n veritaban\u0131n\u0131 manip\u00fcle etmesine veya hassas verilere eri\u015fmesine olanak tan\u0131r. Bu riskten korunmak i\u00e7in parametreli sorgular (prepared statements) veya ORM (Object-Relational Mapping) ara\u00e7lar\u0131 kullan\u0131lmal\u0131d\u0131r. Asla kullan\u0131c\u0131 girdilerini do\u011frudan string birle\u015ftirme yoluyla sorguya eklemeyin.<br \/>\n*   <strong>Hata Yakalama ve NULL De\u011ferler:<\/strong> SQL ifadeleri, veri t\u00fcr\u00fc uyumsuzluklar\u0131 veya <code>NULL<\/code> de\u011ferlerle kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda hatalara veya beklenmedik sonu\u00e7lara yol a\u00e7abilir. \u00d6rne\u011fin, <code>NULL<\/code> bir de\u011ferle yap\u0131lan herhangi bir aritmetik i\u015flem genellikle <code>NULL<\/code> sonucunu d\u00f6nd\u00fcr\u00fcr. Bu durumu y\u00f6netmek i\u00e7in <code>COALESCE<\/code>, <code>NVL<\/code> veya <code>ISNULL<\/code> gibi fonksiyonlar kullan\u0131labilir.<br \/>\n    <em>   \u00d6rnek: <code>SELECT UrunAdi, COALESCE(StokMiktari, 0) <\/em> Fiyat AS ToplamDeger FROM Urunler;<\/code> (StokMiktari NULL ise 0 kabul eder.)<br \/>\n*   <strong>Veri T\u00fcr\u00fc Uyumsuzluklar\u0131:<\/strong> \u0130fadelerdeki farkl\u0131 veri t\u00fcrleri aras\u0131nda i\u015flem yaparken, veritaban\u0131 \u00f6rt\u00fck (implicit) veya a\u00e7\u0131k (explicit) d\u00f6n\u00fc\u015f\u00fcmler yapar. \u00d6rt\u00fck d\u00f6n\u00fc\u015f\u00fcmler her zaman beklenen \u015fekilde \u00e7al\u0131\u015fmayabilir veya performans sorunlar\u0131na neden olabilir. A\u00e7\u0131k d\u00f6n\u00fc\u015f\u00fcmler (<code>CAST<\/code> veya <code>CONVERT<\/code> kullanarak) kullanmak, daha g\u00fcvenli ve \u00f6ng\u00f6r\u00fclebilir sonu\u00e7lar sa\u011flar.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>SQL ifadeleri, SQL dilinin kalbidir ve veritabanlar\u0131yla etkile\u015fim kurman\u0131n temelini olu\u015fturur. Literallerden operat\u00f6rlere, g\u00fc\u00e7l\u00fc fonksiyonlardan ko\u015fullu <code>CASE<\/code> ifadelerine ve alt sorgulara kadar geni\u015f bir yelpazede sunulan bu ara\u00e7lar, veriyi se\u00e7me, d\u00f6n\u00fc\u015ft\u00fcrme, filtreleme ve g\u00fcncelleme yeteneklerimizi katbekat art\u0131r\u0131r. Bir veritaban\u0131 uzman\u0131 veya geli\u015ftirici olarak, SQL ifadelerini derinlemesine anlamak ve etkin bir \u015fekilde kullanmak, daha g\u00fc\u00e7l\u00fc, esnek ve performansl\u0131 sorgular yazman\u0131n anahtar\u0131d\u0131r.<\/p>\n<p>Farkl\u0131 veritaban\u0131 sistemleri aras\u0131ndaki sentaks ve davran\u0131\u015f farkl\u0131l\u0131klar\u0131n\u0131n fark\u0131nda olmak, ifadeleri do\u011fru ve ta\u015f\u0131nabilir bir \u015fekilde kullanmak i\u00e7in \u00f6nemlidir. Ayr\u0131ca, g\u00fcvenlik ve performans konular\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurarak ifadeleri optimize etmek, uygulamalar\u0131n\u0131z\u0131n sa\u011flaml\u0131\u011f\u0131n\u0131 ve verimlili\u011fini art\u0131racakt\u0131r. SQL ifadeleri \u00fczerinde pratik yapmak, \u00e7e\u015fitli senaryolarda denemeler yapmak ve veritaban\u0131n\u0131z\u0131n dok\u00fcmantasyonunu incelemek, bu g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 ustal\u0131kla kullanman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131\nSQL (Yap\u0131sal Sorgu Dili), ili\u015fkisel veritabanlar\u0131n\u0131 y\u00f6netmek ve sorgulamak","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-37451","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 \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 - 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\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131\" \/>\n<meta property=\"og:description\" content=\"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 SQL (Yap\u0131sal Sorgu Dili), ili\u015fkisel veritabanlar\u0131n\u0131 y\u00f6netmek ve sorgulamak\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-05T09:40:49+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=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131\",\"datePublished\":\"2026-01-05T09:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\"},\"wordCount\":2476,\"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\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\",\"name\":\"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-05T09:40:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131\"}]},{\"@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 \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 - 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\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/","og_locale":"tr_TR","og_type":"article","og_title":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131","og_description":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 SQL (Yap\u0131sal Sorgu Dili), ili\u015fkisel veritabanlar\u0131n\u0131 y\u00f6netmek ve sorgulamak","og_url":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-05T09:40:49+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131","datePublished":"2026-01-05T09:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/"},"wordCount":2476,"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\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/","url":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/","name":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-05T09:40:49+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sql-ifadeleri-veri-manipulasyonunun-ve-sorgulamanin-temel-tasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL \u0130fadeleri: Veri Manip\u00fclasyonunun ve Sorgulaman\u0131n Temel Ta\u015f\u0131"}]},{"@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\/37451","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=37451"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37451\/revisions"}],"predecessor-version":[{"id":37452,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37451\/revisions\/37452"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}