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.