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></=>=>