MS SQL Server Eğitimleri 29 – T-SQL Where Deyimi 4 Order By Kullanımı


MS SQL Server Eğitimleri 29 – T-SQL Where Deyimi 4 Order By Kullanımı

 

MS SQL eğitimlerimize Order By kavramı ile devam ediyoruz.

Order By kavramı listelenmiş verileri istenilen kolonlara göre küçükten büyüğe, büyükten küçüğe ya da alfabetik düzende sıralamak için kullanılır.

Genel Kullanım

Burada ASC(Ascending) yazmamız halinde küçükten büyüğe DESC(Descending) yazmamız halinde büyükten küçüğe sıralayacaktır.

Dipnot: ASC ve DESC bir yerden sonra acaba hangisi küçükten büyüğe hangisi büyükten küçüğeydi diye karıştırılabilen kavramlardır. Bunu akılda tutmak için bulduğum küçük metodu söyleyeyim sizlere. Ascending A ile başlıyor ve D harfinden alfabetik sıralamada geride yada daha küçük olduğunu düşünerek Ascending ifadesinin küçükten büyüğe böylelikle Descending ifadesinin büyükten küçüğe sıralama yaptığını hatırımda daha kolay tutabilmiştim.

Şimdi XENONBOX veri tabanımız üzerinde bir kaç sıralama işlemi yapalım.

  • Önce verilerimizi yine normal olarak sorgulayalım.

1MariaAndersBerlinGermany030-0074321
2AnaTrujilloMéxico D.F.Mexico(5) 555-4729
3AntonioMorenoMéxico D.F.Mexico(5) 555-3932
4ThomasHardyLondonUK(171) 555-7788
5ChristinaBerglundLuleåSweden0921-12 34 65
6HannaMoosMannheimGermany0621-08460
7FrédériqueCiteauxStrasbourgFrance88.60.15.31
8MartínSommerMadridSpain(91) 555 22 82
9LaurenceLebihanMarseilleFrance91.24.45.40
10ElizabethLincolnTsawassenCanada(604) 555-4729
11VictoriaAshworthLondonUK(171) 555-1212
  • Şimdi Custumer tablosunda isme göre alfabetik sıralama yaptırarak başlayalım.

69AlejandraCaminoMadridSpain(91) 745 6200
52AlexanderFeuerLeipzigGermany0342-023176
2AnaTrujilloMéxico D.F.Mexico(5) 555-4729
81AnabelaDominguesSao PauloBrazil(11) 555-2167
31AndréFonsecaCampinasBrazil(11) 555-9482
19AnnDevonLondonUK(171) 555-0297
41AnnetteRouletToulouseFrance61.77.61.10
3AntonioMorenoMéxico D.F.Mexico(5) 555-3932
21AriaCruzSao PauloBrazil(11) 555-9857
75ArtBraunschweigerLanderUSA(307) 555-4680
61BernardoBatistaRio de JaneiroBrazil(21) 555-4252
  • Herhangi bir sıralama durumu belirtmessek SQL bunu ASC olarak değerlendirip sıralama yapacaktır.

69AlejandraCaminoMadridSpain(91) 745 6200
52AlexanderFeuerLeipzigGermany0342-023176
2AnaTrujilloMéxico D.F.Mexico(5) 555-4729
81AnabelaDominguesSao PauloBrazil(11) 555-2167
31AndréFonsecaCampinasBrazil(11) 555-9482
19AnnDevonLondonUK(171) 555-0297
41AnnetteRouletToulouseFrance61.77.61.10
3AntonioMorenoMéxico D.F.Mexico(5) 555-3932
21AriaCruzSao PauloBrazil(11) 555-9857
75ArtBraunschweigerLanderUSA(307) 555-4680
61BernardoBatistaRio de JaneiroBrazil(21) 555-4252
  • Şimdi birde Büyükten Küçüğe sıralayalım.

91ZbyszekPiestrzeniewiczWarszawaPoland(26) 642-7012
54YvonneMoncadaBuenos AiresArgentina(1) 135-5333
42YoshiTannamuriVancouverCanada(604) 555-3392
36YoshiLatimerElginUSA(503) 555-6874
14YangWangBernSwitzerland0452-076545
11VictoriaAshworthLondonUK(171) 555-1212
4ThomasHardyLondonUK(171) 555-7788
17SvenOttliebAachenGermany0241-039123
53SimonCrowtherLondonUK(171) 555-7733
64SergioGutiérrezBuenos AiresArgentina(1) 123-5555
20RolandMendelGrazAustria7675-3425
  • Order By kavramı Where ifade ile kullanılabilir.

Sadece bir şarta bağlı sorguladığımızda;

1MariaAndersBerlinGermany030-0074321
6HannaMoosMannheimGermany0621-08460
17SvenOttliebAachenGermany0241-039123
25PeterFrankenMünchenGermany089-0877310
39PhilipCramerBrandenburgGermany0555-09876
44RenateMessnerFrankfurt a.M.Germany069-0245984
52AlexanderFeuerLeipzigGermany0342-023176
56HenriettePfalzheimKölnGermany0221-0644327
63HorstKlossCunewaldeGermany0372-035188
79KarinJosephsMünsterGermany0251-031259
86RitaMüllerStuttgartGermany0711-020361
  • Şimdi bu şartı CITY’e göre sıralatalım 2 şekilde de.

17SvenOttliebAachenGermany0241-039123
1MariaAndersBerlinGermany030-0074321
39PhilipCramerBrandenburgGermany0555-09876
63HorstKlossCunewaldeGermany0372-035188
44RenateMessnerFrankfurt a.M.Germany069-0245984
56HenriettePfalzheimKölnGermany0221-0644327
52AlexanderFeuerLeipzigGermany0342-023176
6HannaMoosMannheimGermany0621-08460
25PeterFrankenMünchenGermany089-0877310
79KarinJosephsMünsterGermany0251-031259
86RitaMüllerStuttgartGermany0711-020361

86RitaMüllerStuttgartGermany0711-020361
79KarinJosephsMünsterGermany0251-031259
25PeterFrankenMünchenGermany089-0877310
6HannaMoosMannheimGermany0621-08460
52AlexanderFeuerLeipzigGermany0342-023176
56HenriettePfalzheimKölnGermany0221-0644327
44RenateMessnerFrankfurt a.M.Germany069-0245984
63HorstKlossCunewaldeGermany0372-035188
39PhilipCramerBrandenburgGermany0555-09876
1MariaAndersBerlinGermany030-0074321
17SvenOttliebAachenGermany0241-039123
  • Bunları yaparken tabi ki sadece istediğimiz kolonları da getirebiliriz.

Rita
Karin
Peter
Hanna
Alexander
Henriette
Renate
Horst
Philip
Maria
Sven
  • ORDERS Tablosundan tarihe göre ASC sıralaması yapalım.

5423782012-07-04 00:00:00.000144000.0085
5423792012-07-05 00:00:00.0002186340.0079
5423802012-07-08 00:00:00.0003181300.0034
5423812012-07-08 00:00:00.000467080.0084
5423822012-07-09 00:00:00.0005373000.0076
5423832012-07-10 00:00:00.0006144480.0034
5423842012-07-11 00:00:00.000762520.0014
5423852012-07-12 00:00:00.0008249050.0068
5423862012-07-15 00:00:00.000951780.0088
5423872012-07-16 00:00:00.00010111990.0035
5423882012-07-17 00:00:00.00011201860.0020

8272014-05-06 00:00:00.00054320424430.0073
8282014-05-06 00:00:00.00054320558600.0068
8292014-05-06 00:00:00.000543206105700.009
8302014-05-06 00:00:00.000543207137460.0065
8232014-05-05 00:00:00.000543200187350.0044
8242014-05-05 00:00:00.00054320151000.0046
8252014-05-05 00:00:00.000543202521800.0020
8262014-05-05 00:00:00.00054320330000.0058
8202014-05-04 00:00:00.0005431978685.0017
8212014-05-04 00:00:00.000543198238480.0062
8222014-05-04 00:00:00.00054319936000.0080
  • ORDER BY ile beraber birden fazla kolona göre de sıralama işlemi yaptırılabilir.

Böyle bir sıralama işleminde yapılan işlem sıra iledir. Öncelikle CUSTOMERID sine göre küçükten büyüğe sıralar. Sonra sıraladığı değerler arasında CUSTOMERID si aynı olan değerlerin ORDERDATE kolonuna göre bir kere daha küçükten büyüğe sıralama işlemi yapar.

3962013-08-25 00:00:00.000542773108600.001
4452013-10-03 00:00:00.00054282287800.001
4552013-10-13 00:00:00.00054283233000.001
5882014-01-15 00:00:00.00054296585100.001
7052014-03-16 00:00:00.00054308249120.001
7642014-04-09 00:00:00.00054314196000.001
612012-09-18 00:00:00.0005424388880.002
3782013-08-08 00:00:00.00054275547975.002
5122013-11-28 00:00:00.00054288932000.002
6792014-03-04 00:00:00.00054305651440.002
1182012-11-27 00:00:00.00054249540320.003
  • Bir kolona göre ASC sıralaması yapılırken farklı kolonlar için DESC sıralaması yaptırılabilir.

7642014-04-09 00:00:00.00054314196000.001
7052014-03-16 00:00:00.00054308249120.001
5882014-01-15 00:00:00.00054296585100.001
4552013-10-13 00:00:00.00054283233000.001
4452013-10-03 00:00:00.00054282287800.001
3962013-08-25 00:00:00.000542773108600.001
6792014-03-04 00:00:00.00054305651440.002
5122013-11-28 00:00:00.00054288932000.002
3782013-08-08 00:00:00.00054275547975.002
612012-09-18 00:00:00.0005424388880.002
6092014-01-28 00:00:00.00054298666000.003

ORDER BY deyimi de böyleydi. 

Bir sonraki yazımda görüşmek üzere.


Like it? Share with your friends!

1598
Murat Bilginer
Industryolog Akademi Founder - Endüstri Mühendisi Canias ERP Troia Geliştiricisi & Yazılım Uzmanı 7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

You may also like

More From: MS SQL Eğitimleri

DON'T MISS