﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dinamik ORDER BY &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/dinamik-order-by/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sat, 01 Apr 2023 09:39:54 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server&#8217;da Dinamik ORDER BY Kullanmak</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-dinamik-order-by-kullanmak</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sat, 01 Apr 2023 09:39:54 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Dinamik ORDER BY]]></category>
		<category><![CDATA[SQL Dinamik ORDER BY]]></category>
		<category><![CDATA[SQL Server Dinamik ORDER BY]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=15885</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da Dinamik ORDER BY kullanmak ile ilgili bilgi vermeye çalışacağım. SQL Server&#8217;da, ORDER BY ifadesi kullanarak sorgu sonuçlarını belirli bir...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da Dinamik ORDER BY kullanmak ile ilgili bilgi vermeye çalışacağım.</p>
<p>SQL Server&#8217;da, ORDER BY ifadesi kullanarak sorgu sonuçlarını belirli bir sütuna göre sıralayabilirsiniz. Ancak, bazen sıralama yapmak istediğiniz sütunun adı sabit değildir veya birden fazla sütuna göre dinamik olarak sıralama yapmak istersiniz.</p>
<p>Bu durumda, SQL Server&#8217;da dinamik ORDER BY ifadesi kullanabilirsiniz. Bu, sıralama kriterlerinin sorgu çalıştırıldığında dinamik olarak belirlendiği anlamına gelir. Dinamik ORDER BY ifadesi kullanırken, sıralama kriterlerinin bir değişkene veya parametreye atanması gerekir.</p>
<p>Aşağıda, örnek bir sorguda dinamik ORDER BY ifadesi kullanımını gösteren örnek bir kod bloğu yer almaktadır.</p>
<p>İlk olarak tablolarımızı oluşturup verileri ekleyelim.</p>
<pre class="line-numbers"><code class="language-sql">--Tablomuzu oluşturalım

CREATE TABLE Customers (
	ID INT IDENTITY (1, 1) PRIMARY KEY
   ,FirstName VARCHAR(50)
   ,LastName VARCHAR(50)
   ,City VARCHAR(50)
   ,Country VARCHAR(50)
);


--Verileri ekleyelim

INSERT INTO Customers (FirstName, LastName, City, Country)
	VALUES ('John', 'Doe', 'New York', 'USA'),
	('Jane', 'Doe', 'Los Angeles', 'USA'),
	('Bob', 'Smith', 'London', 'UK'),
	('Alice', 'Jones', 'Paris', 'France');</code></pre>
<p>Yukarıdaki kod bloğu, &#8220;Customers&#8221; adında bir tablo oluşturur ve bu tabloya dört adet müşteri bilgisi ekler.</p>
<p>Şimdi, bu tabloyu kullanarak bir dinamik ORDER BY sorgusu yazalım. Sıralama kriterini &#8220;City&#8221; veya &#8220;Country&#8221; olarak belirleyeceğiz.</p>
<pre class="line-numbers"><code class="language-sql">DECLARE @SortColumn VARCHAR(50) = 'City';

SELECT
	*
FROM Customers
ORDER BY CASE
	WHEN @SortColumn = 'City' THEN City
	WHEN @SortColumn = 'Country' THEN Country
	ELSE FirstName
END;</code></pre>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-15887 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-1.jpg" alt="SQL Server'da Dinamik ORDER BY Kullanmak" width="700" height="476" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-1-315x214.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-1-441x300.jpg 441w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-1-199x135.jpg 199w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Yukarıdaki sorgu, &#8220;City&#8221; veya &#8220;Country&#8221; sütununa göre dinamik olarak sıralama yapar. Sıralama kriteri, &#8220;@SortColumn&#8221; değişkeninde belirlenir ve CASE bloğu kullanılarak belirli sütunlara göre sıralama yapılır. Eğer &#8220;@SortColumn&#8221; değişkeninde belirtilen sütun yoksa, varsayılan olarak &#8220;FirstName&#8221; sütununa göre sıralama yapılır.</p>
<pre class="line-numbers"><code class="language-sql">DECLARE @SortColumn VARCHAR(50) = 'Country';

SELECT
	*
FROM Customers
ORDER BY CASE
	WHEN @SortColumn = 'City' THEN City
	WHEN @SortColumn = 'Country' THEN Country
	ELSE FirstName
END;</code></pre>
<p>&#8220;@SortColumn&#8221; değişkenine &#8216;Country&#8217; değeri atanırsa, sorgu sonucu şu şekilde olacaktır:</p>
<p><img decoding="async" class="alignnone wp-image-15888 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-2.jpg" alt="SQL Server'da Dinamik ORDER BY Kullanmak" width="700" height="487" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-2.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-2-315x219.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-2-431x300.jpg 431w, https://sqlserveregitimleri.com/wp-content/uploads/2023/04/sql-serverda-dinamik-order-by-kullanmak-2-194x135.jpg 194w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 151</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
