Vragen na SELECT

De queryprestaties verbeteren in SQL Server

Dean Smith

Founder, Atamai Analytics

Verwerkingsvolgorde na SELECT

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
De queryprestaties verbeteren in SQL Server

Alles is niet altijd goed

SELECT *
FROM PlayerStats;

SELECT * is handig voor verkenning, maar kan slecht zijn voor performance

PlayerName Team Position ... ...
Alex Abrines OKC SG ... ...
Quincy Acy BRK PF ... ...
Steven Adams OKC C ... ...
Bam Adebayo MIA C ... ...
... ... ... ... ...
De queryprestaties verbeteren in SQL Server

Alleen wat je nodig hebt is beter

SELECT PlayerName, 
        Team, 
        TotalPoints
FROM PlayerStats;

Selecteer alleen de benodigde kolommen

PlayerName Team TotalPoints
Alex Abrines OKC 353
Quincy Acy BRK 411
Steven Adams OKC 1056
Bam Adebayo MIA 477
... ... ...
De queryprestaties verbeteren in SQL Server

Alles in een JOIN

SELECT * 
FROM Players p
  INNER JOIN PlayerStats ps
  ON ps.PlayerName = p.PlayerName;

SELECT * in joins retourneert dubbele koppelkolommen

PlayerName Age PlayerName Team ...
Alex Abrines 24 Alex Abrines OKC ...
Quincy Acy 27 Quincy Acy BRK ...
Steven Adams 24 Steven Adams OKC ...
Bam Adebayo 20 Bam Adebayo MIA ...
... ... ... ... ...
De queryprestaties verbeteren in SQL Server

Alles wat je nodig hebt in een JOIN

SELECT p.PlayerName, 
       ps.Team, 
       p.Country, 
       ps.Position
FROM Players p
  INNER JOIN PlayerStats ps
  ON ps.PlayerName = p.PlayerName;

Geef expliciet op welke kolommen worden geretourneerd en uit welke tabellen

PlayerName Country Team Position
Alex Abrines Spain OKC SG
Quincy Acy USA BRK PF
Steven Adams New Zealand OKC C
Bam Adebayo USA MIA C
... ... ... ...
De queryprestaties verbeteren in SQL Server

Rijen met TOP

SELECT TOP 5 PlayerName, 
        Team, 
        TotalPoints
FROM PlayerStats;
PlayerName Team TotalPoints
Alex Abrines OKC 353
Quincy Acy BRK 411
Steven Adams OKC 1056
Bam Adebayo MIA 477
Arron Afflalo ORL 179
De queryprestaties verbeteren in SQL Server

Percentage met TOP

SELECT TOP 1 PERCENT PlayerName, 
        Team, 
        TotalPoints
FROM PlayerStats;
PlayerName Team TotalPoints
Alex Abrines OKC 353
Quincy Acy BRK 411
Steven Adams OKC 1056
Bam Adebayo MIA 477
Arron Afflalo ORL 179
Cole Aldrich MIN 12
LaMarcus Aldridge SAS 1735
De queryprestaties verbeteren in SQL Server

Er is geen top of bodem

SELECT TOP 5 PlayerName, 
        Team, 
        TotalPoints
FROM PlayerStats
ORDER BY TotalPoints DESC
PlayerName Team TotalPoints
LeBron James CLE 2251
James Harden HOU 2191
Anthony Davis NOP 2110
Russell Westbrook OKC 2028
Giannis Antetokounmpo MIL 2014
De queryprestaties verbeteren in SQL Server

Andere rijbegrenzers

Rijbegrenzer Sorteerclausule Database
TOP ORDER BY Microsoft SQL Server
ROWNUM ORDER BY Oracle
LIMIT ORDER BY PostgreSQL
De queryprestaties verbeteren in SQL Server

Waar ORDER BY gebruiken

Gebruik ORDER BY in een query:

  • Voor data-analyse
  • Als er een goede reden is om het eindresultaat gesorteerd te krijgen
De queryprestaties verbeteren in SQL Server

Laten we oefenen!

De queryprestaties verbeteren in SQL Server

Preparing Video For Download...