Základní SQL dotazy – Přehled selectů pro začátečníky

Poslední aktualizace:

Dnes tu mám článek určený pro změnu začátečníkům. Bude plný příkladů sql dotazů s tím, že si to dáme od těch nejzákladnějších a postupně budeme přitvrzovat. SQL dotazy budou seřazeny chronologicky podle obtížnosti. Postupně budu přidávat další. Pro IT oddělení je dnes znalost SQL už nutnost, ale nastala doba, kdy SQL dotazování používají nejen ajťáci, ale i analytici nebo lidé, kteří pracují s reporty, protože je jejich práce daleko efektivnější.

Příklady k čemu vám SQL dotaz může v práci pomoci:

1 Jednoduchý sql dotaz bez podmínek

Dotaz s výběrem všech sloupců pomocí * bez omezujících podmínek (tutoriál o select klauzuli zde):

SELECT *
FROM [Temp].[dbo].[udv_SalesByProducts];

2 SQL dotazy s podmínkou ve WHERE

Dotaz s omezující podmínkou na rok 2010 ve where (tutoriál o where klauzuli zde):

SELECT *
FROM [Temp].[dbo].[udv_SalesByProducts]
WHERE Rok = '2010';

3 Složená podmínka ve WHERE

SQL dotaz kde jsme využili spoustu podmínek a některé základní operátory IN, BETWEEN, LIKE a >

SELECT *
FROM [Temp].[dbo].[udv_SalesByProducts]
WHERE ProduktSubKategorie LIKE ('%bike%')
AND Rok IN (2013,2014)
AND Mesic BETWEEN 1 AND 6
AND PrumernaTrzba>0;

4 Výběr prvních 10 záznamů seřazených vzestupně (ASC) nebo sestupně (DESC) pomocí ORDER BY

Vybíráme 10 (TOP) největších tržeb v roce 2013, seřazených sestupně (ORDER BY <Sloupec> DESC)

SELECT TOP 10 *
FROM [Temp].[dbo].[udv_SalesByProducts]
WHERE Rok =2013
ORDER BY Trzba DESC;

5 Agregujeme záznamy pomocí funkcí a klauzule GROUP BY

Aplikujeme agregační funkce SUM, COUNT, AVG, MAX, MIN na tržby přes kalendářní rok, podobné sql dotazy s využitím alespoň 1 agregační funkce jsou časté:

SELECT
  Rok,
  SUM(Trzba)  AS Soucet,
  COUNT(*)    AS Pocet_Zaznamu,
  AVG(Trzba)  AS Prumer,
  MAX(Trzba)  AS Maximalni_Trzba,
  MIN(Trzba)  AS Minimalni_Trzba
FROM [Temp].[dbo].[udv_SalesByProducts]
GROUP BY Rok
ORDER BY Rok ASC;

6 Základní použítí klauzule HAVING – podmínka na agregované záznamy

SQL dotaz na to, jak pomocí having omezit výsledek na záznamy, které splňují podmínku po agregaci (použijeme základ dotazu jako v příkladu viz. 5):

SELECT
Rok,
AVG(Trzba) AS Prumer
FROM [Temp].[dbo].[udv_SalesByProducts]
GROUP BY Rok
HAVING AVG(Trzba)<5000
ORDER BY Rok ASC;

Základní SQL dotazy – Přehled selectů pro začátečníky
5 (100%) 6 vote[s]

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Category: SQL klauzule Užitečné SQL skripty Základy SQL

About Ing. Jan Zedníček - BI Developer, Finance controller

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.