Join заявка
6 отговора
677 прегледа
Join заявка
Имам следните две таблици:
sites (site_id, name, domain)
girlsites (girl_id, site_id)
Как ще изглежда mysql заявката, която избира всички записи от sites и само тези от girls, за който отговаря определено girl_id, 198 например. Със следната не става:
SELECT s.name, s.site_id
FROM sites s
LEFT JOIN girlsites g
USING ( site_id )
WHERE g.girl_id =198
Защото ми връща само тези сайтове, за който имам момиче.
sites (site_id, name, domain)
girlsites (girl_id, site_id)
Как ще изглежда mysql заявката, която избира всички записи от sites и само тези от girls, за който отговаря определено girl_id, 198 например. Със следната не става:
SELECT s.name, s.site_id
FROM sites s
LEFT JOIN girlsites g
USING ( site_id )
WHERE g.girl_id =198
Защото ми връща само тези сайтове, за който имам момиче.
Re: Join заявка
SELECT * FROM sites UNION ALL SELECT * FROM girlsites WHERE girl_id = 198
Re: Join заявка
SELECT s.name, s.site_id
FROM sites s
LEFT OUTER JOIN girlsites g
USING ( site_id )
WHERE g.girl_id =198
Епа, това е моето хоби... [линк]
FROM sites s
LEFT OUTER JOIN girlsites g
USING ( site_id )
WHERE g.girl_id =198
Епа, това е моето хоби... [линк]
Re: OUTER е излишна дума според стандарта
Няма никаква разлика между
LEFT JOIN
и
LEFT OUTER JOIN
независимо дали пишеш OUTER с червен шрифт или не.
Просто има два вида OUTER JOIN съответно ляв и десен и стандартът позволява да се добави или пропусне думичката OUTER.
salle.online.bg/sig
LEFT JOIN
и
LEFT OUTER JOIN
независимо дали пишеш OUTER с червен шрифт или не.
Просто има два вида OUTER JOIN съответно ляв и десен и стандартът позволява да се добави или пропусне думичката OUTER.
salle.online.bg/sig
Re: Join заявка
Aко правилно съм разбрал искаш ВСИЧКИ сайтове дето гърлата е им е 198 нали?
Тогава :
SELECT s.name, s.site_id
FROM sites s , girlsites g
WHERE s.site_id=g.site_id
AND g.girl_id =198
ИЛИ ако искаш ВСИЧКИ (??!!??) сайтове -> за какво да JOIN-ваш гърлс, като както е видно нищо не четеш от таблицата !
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Тогава :
SELECT s.name, s.site_id
FROM sites s , girlsites g
WHERE s.site_id=g.site_id
AND g.girl_id =198
ИЛИ ако искаш ВСИЧКИ (??!!??) сайтове -> за какво да JOIN-ваш гърлс, като както е видно нищо не четеш от таблицата !
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
ето
SELECT
s.name,
s.site_id
FROM
sites s LEFT JOIN girlsites g
ON
s.site_id=g.site_id AND g.girl_id = 198
Everything louder than everything else...
Редактирано от Dakota на
Re: Join заявка
SELECT s.name, s.site_id
FROM sites s INNER JOIN
girlsites g ON s.site_id = g.site_id
WHERE (g.girl_id = 198)
FROM sites s INNER JOIN
girlsites g ON s.site_id = g.site_id
WHERE (g.girl_id = 198)