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

GRAFICA 2D

RSS TUTORIALE GRAFICA 2D

GRAFICA 3D

RSS TUTORIALE GRAFICA 3D
Swift 3D (1)

Cel mai votat tutorial*:

Realizarea unei piese de sah in Swift 3D

Cel mai vizitat tutorial*:

112 afisari
Realizarea unei piese de sah in Swift 3D

WEB DESIGN

RSS TUTORIALE WEB DESIGN
Adobe Dreamweaver (7)
CSS (8)
HTML (27)

WEB DEVELOPMENT

RSS TUTORIALE WEB DEVELOPMENT

DEVELOPMENT

RSS TUTORIALE DEVELOPMENT
Java (8)
Python (5)
Verilog (1)

BAZE DE DATE

RSS TUTORIALE BAZE DE DATE
MySQL (6)

MEDIA

RSS TUTORIALE MEDIA
Fotografie (42)
Video (3)

Cel mai votat tutorial*:

Fotografia de iarna

Cel mai vizitat tutorial*:

81 afisari
Fotografia de iarna

APLICATII BUSINESS

RSS TUTORIALE APLICATII BUSINESS

APLICATII DEDICATE

RSS TUTORIALE APLICATII DEDICATE
AutoCAD (9)
Matlab (9)
SPSS (8)

SISTEME DE OPERARE

RSS TUTORIALE SISTEME DE OPERARE

DIVERSE

RSS TUTORIALE DIVERSE
Google (6)
Topul celor mai bine cotate tutoriale
Formatarea textului in MS Word 2007
Implementarea unui modul de stiri in Zend Framework. Partea I - Structura aplicatiei
Schimbarea fundalului unei fotografii in Photoshop
Desenarea unui TV retro in Adobe Ilustrator - Tutorial video
Felicitare de 8 Martie in Photoshop
Filtrarea si extragerea valorilor dintr-o coloana in MS Excel 2007 - Tutorial interactiv
Previzualizarea si printarea unui document in MS Word 2007
Crearea unui fundal pentru Twitter si uploadarea lui - Tutorial video
Implementarea unui modul de stiri in Zend Framework. Partea a II-a - Modelul, adaugarea si stergerea
Fotografia de iarna
Topul celor mai vizualizate tutoriale
Felicitare de 8 Martie in Photoshop
Filtrarea si extragerea valorilor dintr-o coloana in MS Excel 2007 - Tutorial interactiv
Procesarea parului in Photoshop - Tutorial video
Formatarea textului in MS Word 2007
Realizarea unui .gif animat in Photoshop
Previzualizarea si printarea unui document in MS Word 2007
Schimbarea fundalului unei fotografii in Photoshop
Crearea unui fundal pentru Twitter si uploadarea lui - Tutorial video
Realizarea unei piese de sah in Swift 3D
Desenarea unui TV retro in Adobe Ilustrator - Tutorial video

* Cele mai bine clasate si cele mai votate tutoriale sunt selectate dintre tutorialele adaugate in ultimele 30 de zile.

BAZE DE DATE - Tutoriale

Descarca toolbar

Toolbar E-learn.ro

Urmareste-ne pe:

Facebook Twitter

BAZE DE DATE

/ MySQL / Diverse (3)

III. Bazele MySQL - Interogari din tabele multiple

17.12.2008
III. Bazele MySQL - Interogari din tabele multiple

Afisarea datelor din tabele multiple.

8648 afisari 0 Rating (12 voturi) 1h 30 min Incepator
Sursa:  MySQL  
Autor:  E-learn.ro
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1 23456789 »
comenteaza printeaza Bookmark and Share

Tabelul pet tine evidenta animalelor pe care le ai. Daca doresti sa inregistrezi alte informatii despre ele, cum ar fi evenimente din viata lor, precum vizitele la veterinar sau data la care li se nasc puii, foloseste un alt tabel. Cum ar trebui sa arate acest tabel? El va trebui sa:
• Contina numele animalului de casa caruia ii corespunde fiecare eveniment.
• O data, pentru a sti cand s-a petrecut evenimentul.
• Un camp pentru a descrie evenimentul.
• Un camp care sa desemneze tipul evenimentului, daca doresti sa poti clasifica evenimentele.

Avand in vedere toate aceste considerente, instructiunea CREATE TABLE pentru tabelul event ar putea arata astfel:

mysql> CREATE TABLE event (name VARCHAR(20), date DATE,
    -> type VARCHAR(15), remark VARCHAR(255));

Ca si in cazul tabelului pet, cel mai convenabil este sa incarci datele initiale creand un fisier text tab-delimited care sa cuprinda urmatoarele informatii:

name

date

type

remark

Fluffy

1995-05-15

litter

4 kittens, 3 female, 1 male

Buffy

1993-06-23

litter

5 puppies, 2 female, 3 male

Buffy

1994-06-19

litter

3 puppies, 3 female

Chirpy

1999-03-21

vet

needed beak straightened

Slim

1997-08-03

vet

broken rib

Bowser

1991-10-12

kennel

 

Fang

1991-10-12

kennel

 

Fang

1998-08-28

birthday

Gave him a new chew toy

Claws

1998-03-17

birthday

Gave him a new flea collar

Whistler

1998-12-09

birthday

First birthday



Incarca inregistrarile astfel:

mysql> LOAD DATA LOCAL INFILE 'event.txt' INTO TABLE event;

Bazandu-te pe ceea ce ai invatat din interogarile pe care le-ai rulat pe tabelul pet, ar trebui sa fii capabil sa efectuezi extrageri de date din tabelul event; principiile de baza raman aceleasi. Dar care sunt cazurile in care tabelul event, de unul singur, este insuficient pentru a raspunde intrebarilor pe care i le-ai putea adresa?

Sa presupunem ca doresti sa afli varstele la care fiecare animal de casa si-a fatat puii. Am vazut mai devreme modul in care se calculeaza varstele pornind de la data nasterii. Data la care mama si-a fatat puii se afla in tabelul event, insa, pentru a calcula varsta pe care o avea la acea data, ai nevoie de ziua ei de nastere, care este stocata in tabelul pet. Acest lucru inseamna ca interogarea necesita ambele tabele:

mysql> SELECT pet.name,
    -> (YEAR(date)-YEAR(birth)) - (RIGHT(date,5)<RIGHT(birth,5)) AS age,
    -> remark
    -> FROM pet INNER JOIN event
    ->   ON pet.name = event.name
    -> WHERE event.type = 'litter';
+--------+------+-----------------------------+
| name   | age  | remark                      |
+--------+------+-----------------------------+
| Fluffy |    2 | 4 kittens, 3 female, 1 male |
| Buffy  |    4 | 5 puppies, 2 female, 3 male |
| Buffy  |    5 | 3 puppies, 3 female         |
+--------+------+-----------------------------+

Ar fi mai multe lucruri care trebuie aduse in atentie in legatura cu acesta interogare:
• Clauza FROM uneste cele doua tabele, intrucat interogarea are nevoie sa isi extraga informatii din ambele.
• In momentul combinarii informatiilor apartinand mai multor tabele, trebuie sa specifici modul in care inregistrarile dintr-un tabel pot fi asociate inregistrarilor din celalalt. Acest lucru este simplu, deoarece ambele au cate o coloana name. Interogarea foloseste o clauza ON pentru a face o corespondenta intre inregistrarile din cele doua tabele care se bazeaza pe valorile name.

Interogarea foloseste un INNER JOIN pentru a uni tabelele. Un INNER JOIN permite randurilor din oricare tabel sa apara in rezultat daca si numai daca ambele tabele intrunesc conditiile specificate in clauza ON. In exemplul de fata, clauza ON impune coloanei name din tabelul pet sa corespunda coloanei name din tabelul event. Daca un nume apare intr-un tabel dar nu si in celalalt, randul respectiv nu va aparea in rezultat, deoarece conditia din clauza ON esueaza.

• Intrucat coloana name apare in ambele tabele, trebuie sa precizezi cu exactitate la care tabel te raportezi atunci cand mentionezi coloana. Acest lucru se realizeaza antepunand numele tabelului numelui coloanei.

Nu ai neaparat nevoie de doua tabele pentru a efectua o combinare. Uneori este util sa unesti un tabel cu el insusi, in cazul in care doresti sa compari inregistrarile dintr-un tabel cu alte inregistrari, din acelasi tabel. De exemplu, pentru a gasi perechi care sa dea nastere la pui printre animalele de casa, poti uni tabelul pet cu sine insusi pentru a returna perechi mascul-femela apartinand unor specii similare:

mysql> SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species
    -> FROM pet AS p1 INNER JOIN pet AS p2
    ->   ON p1.species = p2.species AND p1.sex = 'f' AND p2.sex = 'm';
+--------+------+--------+------+---------+
| name   | sex  | name   | sex  | species |
+--------+------+--------+------+---------+
| Fluffy | f    | Claws  | m    | cat     |
| Buffy  | f    | Fang   | m    | dog     |
| Buffy  | f    | Bowser | m    | dog     |
+--------+------+--------+------+---------+

In aceasta interogare, vom specifica un alias pentru numele tabelului pentru a ne referi la coloane si pentru a afla exact carui element din tabel ii este asociata fiecare referinta din coloana.

Pagina:
1 23456789 »
comenteaza printeaza Bookmark and Share
Noteaza acest tutorial
Rating tutorial
 
(12 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
misterio
misterio Incepator
1107
alext_1020
alext_1020 Expert
1100
pustiu
pustiu Expert
830
alexandra
alexandra Expert
629
gyzzmo
gyzzmo Mediu
440
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
0 UTILIZATORI NOI 0 0
puscasel
puscasel
10 Martie 2010
adrian.dima
adrian.dima
09 Martie 2010
willy
willy
09 Martie 2010
dorotheea
dorotheea
09 Martie 2010
montextrem
montextrem
09 Martie 2010
 
Flash MySQL Paint Shop Pro XHTML Beta Illustrator Dreamweaver StyleSheet JSON Sony Vegas Word Analiza Fireworks Fotografie Javascript SWISHmax Photoshop PHP Powerpoint COREL DRAW Excel CSS Outlook XML AJAX SWF SEO HTML 360 Action Script PSD
Parteneri:
www.power-point.ro - prezentari PowerPoint(pps, ppt) pentru fiecare!  DocumentareOnline.com - Lucrari  Felicitari de Craciun - Ofelicitare.ro  Ecoghid.ro  TV Online  Forum Forex  Carti electronice  Director Web  Jocuri Barbie  Jocuri Online  Super bancuri
Directoare:
Jocuri  Inscrie site  Director Romanesc  Total Top - Director Web  Director-Web.net
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.
E-learn.ro
PageRank
Copyright © 2008-2010 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software
Submit Your Site SmartNetBook.ro