E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale MySQL

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

BAZE DE DATE  /  MySQL  /  Bazele MySQL (3)

III. Bazele MySQL - Interogari din tabele multiple

17.12.2008
III. Bazele MySQL - Interogari din tabele multiple

Afisarea datelor din tabele multiple.

Total vizualizari: 30933 30933 afisari   |   Comentarii  1   |   Rating   |   (12 voturi)   |   Timp necesar: 1h 30 min 1h 30 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  MySQL  
Autor:  E-learn.ro
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 123456 7 89 »
comenteaza printeaza

Mai devreme, ai extras numele oamenilor care detin animale de casa. Poti utiliza COUNT() daca vrei sa afli cate animale are fiecare stapan:

mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;
+--------+----------+
| owner  | COUNT(*) |
+--------+----------+
| Benny  |        2 |
| Diane  |        2 |
| Gwen   |        3 |
| Harold |        2 |
+--------+----------+

Se remarca folosirea lui GROUP BY pentru gruparea tuturor inregistrarilor ce corespund fiecarui stapan (owner). In lipsa acestuia, nu vei obtine decat un mesaj de eroare:

mysql> SELECT owner, COUNT(*) FROM pet;
ERROR 1140 (42000): Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) 
with no GROUP columns is illegal if there is no GROUP BY clause

COUNT() si GROUP BY sunt utile pentru caracterizarea datelor in diferite moduri. Urmatoarele exemple iti arata diverse cai de a efectua operatii de recensamant al animalelor.

Numarul de animale pe specii:

mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;
+---------+----------+
| species | COUNT(*) |
+---------+----------+
| bird    |        2 |
| cat     |        2 |
| dog     |        3 |
| hamster |        1 |
| snake   |        1 |
+---------+----------+

Numarul de animale pe sexe:

mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;
+------+----------+
| sex  | COUNT(*) |
+------+----------+
| NULL |        1 |
| f    |        4 |
| m    |        4 |
+------+----------+

(In aceasta iesire, NULL indica faptul ca sexul nu este cunoscut)
Numarul de animale pe combinatia dintre specie si sex:

mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;
+---------+------+----------+
| species | sex  | COUNT(*) |
+---------+------+----------+
| bird    | NULL |        1 |
| bird    | f    |        1 |
| cat     | f    |        1 |
| cat     | m    |        1 |
| dog     | f    |        1 |
| dog     | m    |        2 |
| hamster | f    |        1 |
| snake   | m    |        1 |
+---------+------+----------+

Nu este nevoie sa extragi un tabel intreg atunci cand folosesti COUNT(). De exemplu, interogarea precedenta arata astfel cand este efectuata doar asupra cainilor si pisicilor:

mysql> SELECT species, sex, COUNT(*) FROM pet
    -> WHERE species = 'dog' OR species = 'cat'
    -> GROUP BY species, sex;
+---------+------+----------+
| species | sex  | COUNT(*) |
+---------+------+----------+
| cat     | f    |        1 |
| cat     | m    |        1 |
| dog     | f    |        1 |
| dog     | m    |        2 |
+---------+------+----------+

Sau, daca doresti numarul de animale pe sexe, doar pentru acele cazuri in care sexul este cunoscut:

mysql> SELECT species, sex, COUNT(*) FROM pet
    -> WHERE sex IS NOT NULL
    -> GROUP BY species, sex;
+---------+------+----------+
| species | sex  | COUNT(*) |
+---------+------+----------+
| bird    | f    |        1 |
| cat     | f    |        1 |
| cat     | m    |        1 |
| dog     | f    |        1 |
| dog     | m    |        2 |
| hamster | f    |        1 |
| snake   | m    |        1 |
+---------+------+----------+
Pagina:
« 123456 7 89 »
comenteaza printeaza
Alte tutoriale MySQL:
Noteaza acest tutorial
Rating tutorial
 
(12 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
nicuslick , Joi, 06 Iunie 2013, ora 07:19
#1

Buna ziua. Am o baza de date cu 2 tabele. Primul tabel (users) are campurile nume si id iar al doilea tabel (categorie) id_categorie si tip_utilizator. Cum asociez tipul de utillizator userului? Si toata treaba asta in PHPmyadmin. Folosesc EasyPHP. Multumesc anticipat

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
5460
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
5460
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
5285
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
5270
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
5015
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
MySQL AJAX CSS Python Excel Outlook Javascript StyleSheet Illustrator XHTML Fotografie Ruby on Rails Gimp RoR Powerpoint Photoshop Java Swift 3D Action Script Word Verilog Bridge JSON PHP COREL DRAW SEO XML Fireworks Dreamweaver HTML Vista Sony Vegas Lightroom Flash SWF PSD
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software