Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Štvrtok, 23. Novembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 460 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    MySQL časť ôsma - príkaz SELECT(III)

V predchádzajúcich dvoch častiach sme si načrtli možnosti práce s príkazom SELECT v SQL. Dnes si konečne toto pojednávanie dokončíme a pokročíme o kus ďalej.


Vychádzajme z našej pokusnej tabuľky Authors2, na ktorej si popisujeme jednotlivé modifikácie príkazu SELECT. Ani dnes to nebude iné.

mysql> select * from authors2;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
|  3 | Marek  | frank@nic.sk   | 7458741 |   24 |
+----+--------+----------------+---------+------+
3 rows in set (0.00 sec)

Príkaz SELECT * FROM authors2 WHERE autor LIKE "Andrej";, ako sme si povedali minule, nám pomocou operátora LIKE vyberie z našej tabuľky všetky údaje z poľa "autor", ktoré zodpovedá reťazcu "Andrej".

mysql> SELECT * FROM authors2 WHERE autor LIKE "Andrej";
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
+----+--------+----------------+---------+------+
1 row in set (0.06 sec)

Ak potrebujeme menej konkrétnu selekciu, môžeme použiť za operátorom LIKE znaky so špeciálnym významom. Jedná sa o znak percenta "%" a znak podčiarkovník "_". Znak percento nahradzuje ľubovoľnú skupinu písmen. A znak podčiarkovník nahrazuje jeden ľubovoľný znak. Ak napríklad chceme z našej tabuľky vybrať všetkých autorov, ktorým sa tel.číslo začína na číslice 145, použijeme nasledovný príkaz:

mysql> SELECT * FROM authors2 WHERE telefon LIKE "145%"
    -> ;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
+----+--------+----------------+---------+------+
2 rows in set (0.05 sec)

Operátor LIKE sme mohli použiť pri tejto číselnej hodnote (tel.číslo) z dôvodu toho, pretože pole telefon je charakteru varchar. Keby bolo charakteru int, museli by sme použiť "=".(Bližšie viď. minulá časť)

Jednotlivé podmienky je samozrejme možné medzi sebou kombinovať podľa ľubovôle a docieliť tým požadovaného efektu pri výbere jednotlivých údajov. Kombinovať ich môžeme pomocou logických spojok AND, OR, NOT. Môže sa Vám aj stať že to s tým kombinovaním preženiete a výsledok výberu bude nulový.

mysql> SELECT id,autor,vek FROM authors2 WHERE (vek > 24)
    -> AND (telefon LIKE "1_5");
Empty set (0.06 sec)

Tak ako sa to stalo mne :), ale poďme trošku ďalej a ukážme si ešte ako zotriedíme údaje v tabuľke. Skúsme teda najskôr podĺa abecedy zotriediť náš výpis autorov, pričom záznamy budú zoradené podľa mien (položky autor).

mysql> SELECT * FROM authors2 ORDER BY autor;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
|  3 | Marek  | frank@nic.sk   | 7458741 |   24 |
+----+--------+----------------+---------+------+
3 rows in set (0.66 sec)

Pokiaľ by sme chceli záznamy v tabuľke zotriediť opačným spôsobom (teda od Z do A) použijeme DESC. Teda:

mysql> SELECT * FROM authors2 ORDER BY autor DESC;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  3 | Marek  | frank@nic.sk   | 7458741 |   24 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
+----+--------+----------------+---------+------+
3 rows in set (0.00 sec)

Príkaz SELECT je skutočne veľmi rozsiahly, ale rozsah nášho seriálu nie je na jeho dôkladné vysvetlenie natoľko obšírny. Ďalšie príklady použitia SELECTu môžete nájsť v manuály na stránkach http://www.mysql.com.


Autor : Developer, čítané 10474x, komentárov: 0
Hodnotenie :    |  Utorok, 4. Marca 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

Priklady v C. 1.čast.

DEV web management system

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system