Hlavná stránka · Diskusné Fórum · Pracovné príležitosti · Zoznam

 Main Menu
o Hlavná stránka
o Zoznam tém
o Zoznam
o Odporučte nás
o Užívatelia
o Vaše konto
o Pridaj článok
o Štatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyhľadávanie
o Fórum
o Workoffice
o Zoznam článkov
o Reklama
o Pridaj článok
o Pridaj novinku

Napíšte nám
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Živě.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o Fórum ::
o Markup languages
o Scriptové jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tému ::

 Pracovné príležitosti
o Ponúkate prácu?
o Hľadáte prácu?

 Autori developer.sk
o Martin Nemeček
o Sväťo Straka
o Jany Masaryk
o Jozef Murín

 
MySQL [ 16. June 2000] - Martin_Nemecek
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.

 
 Príslušné odkazy k téme
Viac o téme: MySQL | Iné články od: Admin | Pošli komentár | Stránka vhodná na tlač width=15 height=11  Pošli tento článok priateľovi, známemu width=15 height=11


Najčítanejšie články MySQL:
MySQL časť štrnásta - najčastejšie kladené otázky

Ďalšie články v rubrike MySQL:

 

"MySQL časť ôsma - príkaz SELECT(III)" | Login / vytvor konto | 0 Komentárov
Prah
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.



Autorské práva:   ©1999 - 2001 Developer Zone [developer@developer.sk]

Všetky články sú vlastníctvom autorov Developer Zone. Všetky práva vyhradené. Stránky Developer.sk sú vytvorené pomocou PHP-Nuke.
Odkazy na nové články je možné preberať pomocou:Backend.php.