ПредишенСледващото

Присъединете се в SQL

JOIN команда в SQL-заявка е да се комбинират селекции от няколко таблици в един набор резултат, а в резултат на пробата са всички сфери на всички таблици, включени в заявка. Нека да се свържем с вас Нека разгледаме по-широко използване JOIN в SQL.

Има няколко варианта на присъединяване заявка. Ще започнем с най-популярните, а именно вътрешната присъединяване:

SELECT * от 'users` ВЪТРЕШЕН JOIN` subscribers` ON ​​`users`.`email` =` subscribers`.`email`

По същия начин, по искане Дръпнах всички записи, където пробата ще включват всички потребители на сайта, които са и абонати.

Отличителна черта на INNER JOIN е, че резултатът включва всички полета с всички ценности. Брой на записите на толкова, колкото да се изпълнят условията за двете таблици.

Сега нека да преминем към следващите видове присъединят. или по-скоро към лявата външна присъединяване:

SELECT * от 'users` лявата външна JOIN` subscribers` ON ​​`users`.`email` =` subscribers`.`email`

Отличителна черта на тази заявка е, че резултатът за вземане на проби съдържа записи, отговарящи на левия масата. Ако те също отговарят на условията на правото на масата, той е идентичен с вътрешната JOIN. в противен случай, вместо стойностите в дясната таблица ще бъде NULL.

Ние сега се обръщат към дясната външна присъединяване:

SELECT * от 'users` дясната външна JOIN` subscribers` ON ​​`users`.`email` =` subscribers`.`email`

огледало обратното на лявата външна В присъедини. NULL вече присъства в първата таблица, която е в ляво.

И накрая, за последния вид JOIN - това CROSS JOIN:

SELECT * от 'users` CROSS JOIN` subscribers`

Тази заявка произвежда всички възможни комбинации на две маси. В тази заявка, в резултат на броя на записите - умножаване на броя на записите в двете таблици.

Не съм говорил за FULL външната JOIN. който не се поддържа от MySQL. Но, по мое мнение, не е необходимо. Нейната особеност е, че тя показва линията, в която има най-малко един мач с някоя от масите. Съответно, в друга таблица (в което няма мач с условие) са NULL. В действителност, тази асоциация лявата външна JOIN и дясната външна присъединяване:

SELECT * от 'users` лявата външна JOIN` subscribers` ON ​​`users`.`email` =` subscribers`.`email` ЮНИОН SELECT * от' users` дясната външна JOIN` subscribers` ON ​​`users`.`email` = `subscribers`.`email`

Затова казах на всички сортове се включат в SQL. Заслужава да се отбележи, че въпросът е много сложно, и то рядко се разбира, за първи път. Ето защо, аз ви препоръчвам да бъдете сигурни, за да видите как на изискванията за данни работят по примера на това, което някои от вашите маси (ако не е, да създавате). Вижте всички видове JOIN и да видим как те се различават.

Препоръчайте тази статия на приятел:

Ако сте харесали сайта, линк към него (на вашия сайт, форум, при контакт)

Тя изглежда така:

  • BB-код справка за индекса (например, можете да го поставите в подписа):
  • И как сортиране изход на данни? Това сме обединени от едни и същи две заявки на Съюза, както и как да се направи поръчката, като и на това, което искането, и как да го кажа?

    В края на искането, че е възможно да се уточни, след като всички се присъединят. Там е подчертан, а къде и LIMIT.

    Подкрепете проекта - споделете линка, благодаря!