logo

SQL SELECT TOP

The VYBERTE NAHORU příkaz v SQL zobrazuje omezený počet záznamů nebo řádků z databázové tabulky. Klauzule TOP v příkazu určuje, kolik řádků je vráceno.

Zobrazuje prvních N počet řádků z tabulek ve výstupu. Tato klauzule se používá, když jsou v databázových tabulkách uloženy tisíce záznamů.

Vezměme si jednoduchý příklad: Pokud tabulka Student obsahuje velké množství dat o studentech, příkaz select TOP určuje, kolik dat o studentech bude z dané tabulky načteno.

Poznámka: Všechny databázové systémy nepodporují klíčové slovo TOP pro výběr omezeného počtu záznamů. Oracle podporuje klíčové slovo ROWNUM a MySQL podporuje klíčové slovo LIMIT.

Syntaxe klauzule TOP v SQL

 SELECT TOP number | percent column_Name1, column_Name2, ....., column_NameN FROM table_name WHERE [Condition] ; 

V syntaxi číslo označuje počet řádků zobrazených shora ve výstupu. Název_sloupce označuje sloupec, jehož záznam chceme ve výstupu zobrazit. Podmínku můžeme také specifikovat pomocí klauzule WHERE.

Příklady klauzule TOP v SQL

Následující čtyři příklady SQL vám pomohou použít klauzuli Number a Percent in SQL TOP v dotazu:

Příklad 1: V tomto příkladu máme tabulku tzv Auta se třemi sloupci:

Název auta Barva auta Náklady na auto
Hyundai Creta Bílý 10 85 000
Místo konání Hyundai Bílý 9 50 000
Hyundai i20 Červené 9 00 000
Kia Sonet Bílý 10 00 000
Kia Seltos Černá 8 00 000
Rychlé touhy Červené 7 95 000
  • Předpokládejme, že chcete zobrazit první tři jména a barvu vozu z výše uvedené tabulky. Chcete-li to provést, musíte zadat následující dotaz v SQL:
 SELECT TOP 3 Car_Name, Car_Color FROM Cars; 

Tento dotaz zobrazí na obrazovce následující tabulku:

Car_Name Car_Color
Hyundai Creta Bílý
Místo konání Hyundai Bílý
Hyundai i20 Červené

Příklad 2: V tomto příkladu máme tabulku tzv Student se třemi sloupci:

Stu_ID Jméno Stu Stu_Marks
1001 Abhay 85
1002 Ankit 75
1003 Bheem 60
1004 RAM 79
1005 Sumit 80
  • Předpokládejme, že chcete zobrazit podrobnosti o prvních čtyřech studentech ve výsledku z výše uvedené tabulky. Chcete-li to provést, musíte zadat následující dotaz v SQL:
 SELECT TOP 4 * FROM Student; 

Tento dotaz zobrazuje na obrazovce ve výstupu SQL následující tabulku:

Stu_ID Jméno Stu Stu_Marks
1001 Abhay 85
1002 Ankit 75
1003 Bheem 60
1004 RAM 79

Příklad 3: V tomto příkladu máme tabulku tzv Zaměstnanec se čtyřmi sloupci:

Emp_Id Emp_Name Zaměstnanecký_plat Emp_City
201 Abhay 25 000 Goa
202 Ankit 45 000 Dillí
203 Bheem 30 000 Goa
204 RAM 29 000 Goa
205 Sumit 40 000 Dillí
  • Předpokládejme, že chcete zobrazit podrobnosti o prvních čtyřech zaměstnancích, jejichž městem je Goa z výše uvedené tabulky. Chcete-li to provést, musíte zadat následující dotaz v SQL:
 SELECT TOP 4 * FROM Employee WHERE Emp_City = Goa ; 

Tento dotaz zobrazuje na obrazovce ve výstupu SQL následující tabulku:

Emp_Id Emp_Name Zaměstnanecký_plat Emp_City
201 Abhay 25 000 Goa
203 Bheem 30 000 Goa
204 RAM 29 000 Goa

Příklad 4: V tomto příkladu máme tabulku tzv Kola se třemi sloupci:

Bike_Name Bike_Color Cena_kolo
KTM DUKE Černá 185 000
Royal Enfield Černá NULA
lis Červené 90 000
Apache Bílý NULA
Žít Černá 80 000
KTM RC Červené 195 000
  • Předpokládejme, že chcete zobrazit 50 procent dat z výše uvedené tabulky. Chcete-li to provést, musíte zadat následující dotaz v SQL:
 SELECT TOP 50 PERCENT * FROM Bikes; 

Tento dotaz zobrazí na obrazovce následující tabulku:

Bike_Name Bike_Color Cena_kolo
KTM DUKE Černá 185 000
Royal Enfield Černá NULA
lis Červené 90 000

Syntaxe klauzule LIMIT v MySQL

 SELECT column_Name1,column_Name2, ....., column_NameN FROM table_name LIMIT value; 

V syntaxi musíme zadat hodnotu za klíčovým slovem LIMIT. Hodnota udává počet řádků, které se mají ve výstupu zobrazit shora.

Příklad klauzule LIMIT v MySQL

Následující příklad SQL vám pomůže použít klauzuli LIMIT v dotazu. V tomto příkladu máme tabulku tzv Auta se třemi sloupci:

Název auta Barva auta Náklady na auto
Hyundai Creta Bílý 10 85 000
Místo konání Hyundai Bílý 9 50 000
Hyundai i20 Červené 9 00 000
Kia Sonet Bílý 10 00 000
Kia Seltos Černá 8 00 000
Rychlé touhy Červené 7 95 000
  • Předpokládejme, že chcete zobrazit první tři záznamy Car pomocí klauzule LIMIT v MySQL. Chcete-li to provést, musíte v MySQL zadat následující dotaz:
 SELECT * FROM Cars LIMIT 3; 

Tento dotaz zobrazí na obrazovce následující tabulku:

Název auta Barva auta Náklady na auto
Hyundai Creta Bílý 10 85 000
Místo konání Hyundai Bílý 9 50 000
Hyundai i20 Červené 9 00 000

Syntaxe klíčového slova ROWNUM v klauzuli WHERE v databázi Oracle

 SELECT column_Name1,column_Name2, ....., column_NameN FROM table_name WHERE ROWNUM <= value; < pre> <p>In the syntax, we have to assign the value to ROWNUM in the WHERE clause. The value denotes the number of rows to be shown from the top in the output.</p> <h2>Example of ROWNUM keyword in WHERE Clause in Oracle</h2> <p>The following SQL example will help you how to use the ROWNUM keyword in the query. In this example, we have a table called <strong>Cars</strong> with three columns:</p> <table class="table"> <tr> <th>Car Name</th> <th>Car Color</th> <th>Car Cost</th> </tr> <tr> <td>Hyundai Creta</td> <td>White</td> <td>10,85,000</td> </tr> <tr> <td>Hyundai Venue</td> <td>White</td> <td>9,50,000</td> </tr> <tr> <td>Hyundai i20</td> <td>Red</td> <td>9,00,000</td> </tr> <tr> <td>Kia Sonet</td> <td>White</td> <td>10,00,000</td> </tr> <tr> <td>Kia Seltos</td> <td>Black</td> <td>8,00,000</td> </tr> <tr> <td>Swift Dezire</td> <td>Red</td> <td>7,95,000</td> </tr> </table> <ul> <li>Suppose, you want to show the first three records of Car using the ROWNUM keyword in Oracle. To do this, you have to type the following query in the Oracle database:</li> </ul> <pre> SELECT * FROM Cars WHERE ROWNUM <= 3; < pre> <p>This query shows the following table on the screen:</p> <table class="table"> <tr> <th>Car Name</th> <th>Car Color</th> <th>Car Cost</th> </tr> <tr> <td>Hyundai Creta</td> <td>White</td> <td>10,85,000</td> </tr> <tr> <td>Hyundai Venue</td> <td>White</td> <td>9,50,000</td> </tr> <tr> <td>Hyundai i20</td> <td>Red</td> <td>9,00,000</td> </tr> </table> <hr></=></pre></=>