Kezdőoldal » Számítástechnika » Weblapkészítés » MySQL-ben lehetséges 1 lekérde...

MySQL-ben lehetséges 1 lekérdezéssel 2 vagy több táblából adatot kinyerni?

Figyelt kérdés
2013. jan. 11. 16:59
 1/5 anonim ***** válasza:

SELECT ...

FROM tábla1, tábla2, ..., táblaN

WHERE ...;

2013. jan. 11. 17:04
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
elég logikusnak tűnik :) köszi, kipróbálom
2013. jan. 11. 17:06
 3/5 anonim ***** válasza:

Persze.


Ezeknek nézz utána:

-Természetes összekapcsolás (inner join)

-Küldő összekapcsolás (outer join)

-Theta join

...

Mind egy kicsit másra jó, amit az előző írt pl. Theta join. De ezen kívül lehet még allekérdezésekkel is táblát összekapcsolni.

2013. jan. 11. 17:40
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Bocs, elírtam, az elsőé nem Theta, hanem a másik kettőből valamelyik. :)


Természetes összekapcsolás. Állítsuk elő például az Áru (cikkszám, megnevezés) és

Vásárlás (cikkszám, mennyiség) táblák természetes összekapcsolását:

SELECT Áru.cikkszám, megnevezés, mennyiség

FROM Áru, Vásárlás

WHERE Áru.cikkszám = Vásárlás.cikkszám;

A fentivel egyenértékű, szintén gyakran használt szintaxis:

SELECT Áru.cikkszám, megnevezés, mennyiség

FROM Áru INNER JOIN Vásárlás ON Áru.cikkszám = Vásárlás.cikkszám;

Megjegyzés. A fenti példákban a SELECT után nem elegendő csak „cikkszám”-ot írni,

annak ellenére, hogy esetünkben „Áru.cikkszám = Vásárlás.cikkszám”, tehát mindegy, melyik

cikkszámot választja a rendszer. Általában, ha egy lekérdezésben több azonos oszlopnév

szerepel, az SQL rendszerek megkövetelik a táblanév megadását.

Külső összekapcsolás. A fenti példát alapul véve, ha az eredménytáblában valamennyi

áru adatait szerepeltetni szeretnénk, akkor ez – az Oracle rendszer korábbi verzióiban használt

jelöléssel – az alábbi módon adható meg:

SELECT Áru.cikkszám, megnevezés, mennyiség

FROM Áru, Vásárlás

WHERE Áru.cikkszám (+)= Vásárlás.cikkszám;

Az SQL szabvány szerint a LEFT, RIGHT vagy FULL OUTER JOIN kulcsszavakkal

adható meg külső összekapcsolás, például:

SELECT Áru.cikkszám, megnevezés, mennyiség

FROM Áru LEFT OUTER JOIN Vásárlás

ON Áru.cikkszám = Vásárlás.cikkszám;

Théta join:

Itt a táblák Descartes-szorzatából tetszőleges feltétel szerint választunk ki sorokat

SELECT * FROM T1,T2 WHERE feltétel;

2013. jan. 11. 17:45
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Első válaszoló megoldása direkt szorzatot eredményez és azt tudod szűrni, de ez egy relatív lassú és költséges dolog.


A joinok hatékonyabbak.

2013. jan. 11. 21:20
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!