MySQL JOIN: описание, пример за използване на екип и препоръки

Разработването на бази данни на интернет ресурси практически не се различава от стандартните бази данни, разработени в системата MS SQL SERVER. Обикновено за такива ресурси се използва езикът MY SQL, въпреки че той може да се прилага за разработването на стандартни софтуерни продукти за местна употреба. Но статията в статията няма да направи това.

Често, когато се работи с бази данни на всеки език, има задача да се направи извадка от данни за извеждане в различни доклади, графики и т.н. Като правило при изпълнението на такива задачи е необходимо да се използват не една, а няколко таблици, които да ги комбинират в едно искане, което значително усложнява неговия дизайн. Необходимо е да се вземе предвид как трябва да се показват данните, как ще се "затегне" таблицата и кой резултат ще бъде възможно най-приемлив за програмиста. За решаването на такива проблеми се използва една от стандартните езикови конструкции на MySQL - Join.


Концепцията на думата Присъединете се

Езици за разработка на бази данни, без значение какъв е този език, стандартните термини са взети от речниците на английски език (ето защо, ако знаете английски език) , ще ви бъде много по-лесно да работите с таблици). За да се осъществи връзката на таблиците в извадката е взета една и съща дума - Join. В програмния език на My SQL базите данни. Преводът на тази официална дума е същият като на самия език - "асоциация". Тълкуването на MySQL - Присъединете се и всяко от тях ще бъде точно същото. Ако декриптиратеОбозначение, и по-специално схемата на неговата работа, получаваме следните стойности: конструкциите ще ви позволят да събирате задължителните полета от различни таблици или под-заявки в една единствена извадка.


Видове конструкции за асоциацията

Ако даден програмист трябва да събере извадка от няколко таблици и той знае какви ключови полета се съдържат в тях и какво точно е необходим за даден отчет, тогава може да се използва една от основните конструкции на асоциацията, за да се постигне желания резултат. Основните конструкции (за комбиниране на таблици) са четири:
  • Вътрешно присъединяване.
  • Cross Join.
  • Ляво присъединяване.
  • Дясно присъединяване.
  • В зависимост от задачата, всеки един от стандартните проекти ще даде различни резултати, което ще ви позволи да получавате отчети при различни параметри за кратко време.

    Създаване и попълване на таблици за бъдещо използване

    Преди да започнем с разглеждане на механизмите за работа със структури за агрегиране на данни, си струва да подготвим няколко таблици, с които ще работим в бъдеще. Това ще спомогне за ясното представяне на всички принципи на работа на операторите, като по този начин новодошлите лесно ще усвоят всички бази на таблиците за програмиране. Първата таблица ще опише някои теми, с които човек постоянно се сблъсква през живота си.
    Във втората таблица се описват някои свойства на обектите от първата таблица, така че те да могат да работят с тях в бъдеще.
    Като цяло, две таблици ще бъдат достатъчни, за да илюстрират работата си като пример. Сега можете да започнете нашия практически прегледструктури.

    Използване на Inner Join

    Когато използвате конструкцията MySQL - Присъединете се към Ineer трябва да вземете под внимание някои от неговите характеристики. Този дизайн ще ви позволи да изберете от двете таблици само тези записи, които също са в първата и втората таблици. Как работи? В първата таблица имаме главния ключ - IDENTIFIER, който сочи към серийния номер на записа в таблицата.
    Когато се създава втора таблица, този ключ се използва като сериен номер, като пример може да се види на чертежите. Когато избирате данни, операторът Select ще определи само записите, чиито номера на последователности са еднакви - следователно, те също са в първата и втората таблици. При използване на дизайна е необходимо да се разбере какви данни е необходимо да се получат. Най-често срещаната грешка, особено в начинаещия програмист на базата данни, е неподходящото и неправилно използване на дизайна на Inner Join. Като пример, MySQL Inner Join, можете да помислите за скрипт, който ще се върне към нас от описаната по-горе и попълнена таблица информация за обектите и техните свойства. Но тук може да има няколко начина за използване на дизайна. В това отношение My SQL е много гъвкав език. Така че, можете да разгледате примери за използване на MySQL Inner Join. Комбиниране на таблици без уточняване на параметри. В този случай получаваме резултата от такъв план:
    Ако споменем чрез служебната дума Използвайки, че е наложително да се вземат предвид основните ключове на записите в таблиците, резултатът от извадката ще се промени радикално. В този случай получаваме пример, който връща само тези редове, които имат еднакви основни ключове.
    Друг вариант е използването на дизайна, когато в заявката думата "on" указва полетата, за които трябва да се сливат таблиците. В този случай извадката ще върне следните данни:

    Характеристики на Left Join

    Когато разглеждате друг начин за обединяване на таблици, използвайки конструкцията MySQL-Join, можете да забележите разликата в показваните данни. Такъв механизъм е изграждането на левицата.
    Използването на левия MySQL дизайн има някои характеристики и, подобно на Inner, изисква ясно разбиране на резултата, който трябва да получите. В този случай първо ще бъдат избрани всички записи от първата таблица, а в бъдеще ще бъдат добавени записи от втората таблица на свойствата. В този случай, ако има запис в първата таблица, например, "стол", а във втората таблица няма свойство за него, тогава операторът Left ще покаже пред този запис стойността на null, казвайки на програмиста, че няма признаци за този тип обект. Използването на този дизайн ще определи кои полета или, например, стоките в магазина не са изложени на цената, гаранционния срок и т.н.

    Пример за използване на Left

    За да разгледаме строителния оператор Left Присъединете се към MySQL на практика, ние използваме описаните по-горе таблици. Например, трябва да изберете целия списък от елементи, които са в магазина, и да проверите кои функции или свойства не са маркирани. В този случай извадката ще покаже всички стоки, а за тези, които нямат свойства, ще бъдат зададени празни стойности.

    Използване в дизайна Къде се присъединява

    Какпараметър, асоциацията може да включва не само полетата, които изискват свързването на таблиците, но може също да включва условието оператор Къде. За пример нека разгледаме скрипт, който трябва да връща само онези записи, които нямат знак. В този случай, трябва да добавите оператора условие и да укажете какво точно трябва да бъде върнато като резултат. Когато използвате в MySQL Join-Where е необходимо да разберете ясно, че ще бъдат показани само записите, към които принадлежи определеното условие, и след това извадката ще изглежда така:
    Такива заявки позволяват вземане на проби от специфични данни, които се отнасят до предпочитаното от програмиста условие. Можете да зададете тези условия по няколко начина, като същевременно максимизирате параметрите на избора на данните от комбинираните таблици.

    Използване на Join за модифициране на данни в таблици

    Съединението е по същество универсално. Тя позволява не само да се правят различни образци, но и да се свързват към заявки от една до няколко таблици, за да се въведат допълнителни условия в извадката. Дизайнът може да се използва и за други операции с данни. Да, Join може да се използва за промяна на данните в таблицата. По-точно, за да се изяснят условията в таблицата или в тези случаи, ако трябва да актуализирате данните в няколко таблици при същите условия. За пример, помислете за такъв проблем. Дадени са три таблици, в които има данни. Трябва да промените данните в двете таблици, като използвате една заявка. За решаването на този вид задачи можете да приложите командата Присъединяване към дизайна на присъединяване.Самият тип строителство на присъединяване зависи, точно както в случай на извадка от данни, на резултата, който програмистът иска да получи. Помислете за най-простия пример. Трябва да актуализирате една и съща заявка за същите условия. Подобни запитвания се изграждат, за да се оптимизира работата с базата данни. Защо да пишем различни заявки за всяка таблица, ако можете да направите всички манипулации с данни в една заявка? Пример за MySQL Update Join в нашия случай е:

    Изграждане на сложни заявки

    Често, когато се работи с базата данни, е необходимо да се правят заявки не само с асоциирането на няколко таблици, но и с използване на подзапроси. Такива задачи са доста сложни за разбиране на начинаещия програмист на бази данни. Трудността е, че трябва да мислите през всяка стъпка, да определите кои данни от коя таблица или заявка трябва да получите и как ще работи с тях по-късно. За по-конкретно разбиране, можете да разгледате (в MySQL Join) примери за сложни заявки. Ако сте нов в базата данни и току-що започнете да работите с нея, тогава такова обучение ще е от полза. Идеален вариант ще бъде MySQL Left Примери за присъединяване.
    Това искане ще ни върне 58 записа на договори за продажба, при които има баланс на средства за избраната дата. В този случай това е текущата дата. Също така в извадката е условие, че името на договора трябва да бъде символи - "123". Показаната на екрана информация (данни) ще има сортиране - сортиране по номер на договор. Следващият пример ще покаже подробности за всички плащания, които ще бъдат направениномерът на договора е посочен.

    Използване на подзаявки

    Както беше споменато по-горе, при работа с бази данни можете да комбинирате не само таблиците, но и таблицата на заявките. Този дизайн се използва главно за ускоряване на заявката и нейното оптимизиране. Например, ако трябва да изберете само две полета от таблица, която има няколко стотин полета и, да речем, хиляда записи, тогава трябва да използвате заявка, която връща само задължителните полета и да я комбинирате с основната извадка от данни. Като пример за MySQL Join Select можете да разгледате заявка от този тип:
    ​​Това не са всички начини за използване на стандартни MySQL конструкции, а само стандартни. Как да използваме дизайна Присъединете се и в какъв вид го решава програмистът, но си струва да си спомните и да вземете предвид какъв резултат трябва да се получи при изпълнение на заявката.

    Свързани публикации