LEFT JOIN
5 отговора
316 прегледа
LEFT JOIN
От това което прочетох във mysql manual-ите под ръка и в интернет останах с впечатлението че LEFT JOIN добавя колоните от дясната таблица към всеки запис от лявата и ако не отговарят на ON критерия просто им придава стойност нула.
следващата заявка обаче не ми връща никакви долепени стойности в края на таблицата а просто селектира всички от t1
mysql>
SELECT t1.* FROM t1
LEFT JOIN t2 ON t1.COL4=t2.ID;
защо става така?
следващата заявка обаче не ми връща никакви долепени стойности в края на таблицата а просто селектира всички от t1
mysql>
SELECT t1.* FROM t1
LEFT JOIN t2 ON t1.COL4=t2.ID;
защо става така?
Re: LEFT JOIN
ами защото ти си му казал точно това ;-)
SELECT t1.* ....
никъде не пишеш, че искаш нещо от t2
а в WHERE клаузата няма ограничение за какво да вземе от t1 - и за това взима всичко
пробвай
SELECT t1.*, t2.* ....
и ще видиш разликата
НОООО не ползвай * (не е добре ;-))), а си описвай колоните една по една с AS при това, защото при дублирание имена на колони може да се почудиш, какво виждаш и т.н.
например
SELECT t1.id AS t1_id, t2.id AS t2_id ....
SELECT t1.* ....
никъде не пишеш, че искаш нещо от t2
а в WHERE клаузата няма ограничение за какво да вземе от t1 - и за това взима всичко
пробвай
SELECT t1.*, t2.* ....
и ще видиш разликата
НОООО не ползвай * (не е добре ;-))), а си описвай колоните една по една с AS при това, защото при дублирание имена на колони може да се почудиш, какво виждаш и т.н.
например
SELECT t1.id AS t1_id, t2.id AS t2_id ....
Re: SELECT (NULL = 0), (NULL != 0); -> NULL, NULL
NULL и нула са съвършено различни неща.
За останалото phpGuru много добре ти е отговорил
salle.online.bg/sig
За останалото phpGuru много добре ти е отговорил
salle.online.bg/sig
Re: SELECT (NULL = 0), (NULL != 0); -> NULL, NULL
за NULL и нула знам че са различни, лошото е че не знам всички случаи при които се различават.
карай, и без това ще ми се наложи да ги уча скоро...
просто сега ми трябва за нещо съвсем любителско :)
карай, и без това ще ми се наложи да ги уча скоро...
просто сега ми трябва за нещо съвсем любителско :)
Re: SELECT (NULL = 0), (NULL != 0); -> NULL, NULL
"за NULL и нула знам че са различни, лошото е че не знам всички случаи при които се различават."
В SQL във всички случаи се различават!
NULL e "неизвестно, неопределено, невъзможно" с две думи NULL е начина по който SQL казва "Не 'нам" и вдига рамене.
salle.online.bg/sig
В SQL във всички случаи се различават!
NULL e "неизвестно, неопределено, невъзможно" с две думи NULL е начина по който SQL казва "Не 'нам" и вдига рамене.
salle.online.bg/sig
Re: SELECT (NULL = 0), (NULL != 0); -> NULL, NULL
Да де, но PHP като един не чак толкова стриктен език ги третира горе долу по един и същи начин.