LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek MySQL (22) - tipy a triky ke spojování tabulek

LeftJoin a rychlost 29.6.2005 15:55
gudnet
Pokud spojuji dvě tabulky dotazem se spojovací podmínkou v WHERE, dotaz běží rychle. Pokud použiji LeftJoin pro zobrazení i prázdných vazeb v druhé tabulce je výsledek dotazu neskonale pomalejší. Např. SELECT a.id as x,b.id as y ... FROM xx as a LEFT JOIN yy as b ON a.id=b.id ... Jak lépe napsat tento dotaz, aby byl rychlejší?
jaa 5.4.2011 12:07
jja a jj

1) Zobrazte název výrobku, prodané množství, a datum prodeje. Pro výrobce který má v názvu Kunín.

SELECT `výrobky`.`název`, `prodej`.`počet kusů`, `prodej`.`datum`
FROM `prodej`, `výrobky`, `výrobci`
where `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku` and `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` and `výrobci`.`název` like "%Kunín%"

2) Zobrazte název firmy (firem) jejích výrobky se prodali 18. 2. 2000.

SELECT `odberatele`.`Název`, `prodej`.`datum`
FROM `odberatele` natural join `prodej`
where`datum`="2000-02-18"
group by `odberatele`.`Název`

3) Zobrazte název odběratele, který utratil nejméně.

SELECT `odberatele`.`Název`,sum( `prodej`.`počet kusů`* `výrobky`.`cena`)as "cena"
FROM `odberatele`natural join `prodej` join `výrobky` on `Číslo výrobku`=`id_výrobku`
group by `odberatele`.`Název`
order by "cena"
limit 1

1) Zobrazte název výrobku, prodané množství, a datum prodeje. Pro výrobce který má v názvu Kunín.

SELECT `výrobky`.`název`, `prodej`.`počet kusů`, `prodej`.`datum`, `výrobci`.`název`
FROM `výrobci` JOIN `výrobky` ON `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` JOIN `prodej` ON `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku`
WHERE `výrobci`.`název` LIKE "%Kunín%"


2) Zobrazte název firmy (firem) jejích výrobky se prodali 18. 2. 2000.

SELECT `výrobci`.`název`
FROM `výrobci` JOIN `výrobky` ON `výrobky`.`id_výrobce`= `výrobci`.`id_výrobce` JOIN `prodej` ON `prodej`.`Číslo výrobku`=`výrobky`.`id_výrobku`
WHERE `prodej`.`datum`='2000-02-18'


KOMENTARZE
LeftJoin a rychlost 29.6.2005 15:55 gudnet
jaa 5.4.2011 12:07 jja a jj
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4789x
2. FreeBSD
Download: 8979x
3. PCLinuxOS-2010
Download: 8485x
4. alcolix
Download: 10793x
5. Onebase Linux
Download: 9565x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6134x

1. xinetd
Download: 2325x
2. RDGS
Download: 937x
3. spkg
Download: 4541x
4. LinPacker
Download: 9789x
5. VFU File Manager
Download: 3111x
6. LeftHand Mała Księgowość
Download: 6995x
7. MISU pyFotoResize
Download: 2696x
8. Lefthand CRM
Download: 3482x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2994x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz