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

Autor: | 14.9.2017

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;

_______________________________________________________________________________________________

Podčlánková reklama - Biportál doporučuje Intelligent technologies - podniková řešení a školení (Excel, SQL, Power BI)

Intelligent technologies

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

Napsat komentář

Vaše emailová adresa nebude zveřejněna.