SQL оператор INNER JOIN: примери, синтаксис и функции

Разработването на всяка база данни включва не само създаването и попълването на таблици с разнообразна информация, но и по-нататъшна работа с данните. Стандартният дизайн Select се използва за правилно изпълнение на различни задачи за избор на данни от таблици и генериране на отчети.

Примерни данни от таблици

Ако разгледате задачата за избор на данни или съставяне на доклад, можете да определите нивото на сложност на операцията. Като правило, когато става въпрос за сериозни (по обем от информация) бази данни, които се формират например в онлайн магазини или големи компании, извадката от данни няма да бъде ограничена само до една таблица. Обикновено, пробите могат да бъдат от доста голям брой не само свързани таблици, но също така и вградени заявки /под-заявки, които самият програмист, в зависимост от задачата, поставена пред него. За проба от една таблица можете да използвате най-простата конструкция:




Изберете * от лице

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

Начини за свързване на допълнителни таблици

Ако се има предвид използването на този тип структури на първоначално ниво, тогава могат да се разграничат следните механизми за свързване на необходимия брой примерни таблици, а именно:
  • Оператор Inner Join.
  • Ляв Присъединете се или е вторият начинзапис, ляво Outer Join.
  • Cross Join.
  • Пълно присъединяване.
  • Използването на оператори на агрегатори на таблици на практика може да се научи чрез изследване на използването на SQL израза - Inner Join. Пример за неговото използване би изглеждал така:




    Изберете * от лицето Вътрешно присъединяване Подразделение на Su_Person = Pe_ID

    SQL езикът и операторът Join Inner Join не могат да бъдат използвани. просто за да комбинирате две или повече таблици, но също така и за свързване на други под-заявки, което значително опростява работата на администраторите на бази данни и, като правило, може значително да ускори изпълнението на определени, сложни в структурата на заявките.

    Комбиниране на данни в таблици с цел

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

    Описание на оператора Inner Join

    В повечето случаи операторът Inner Join се използва за обединяване на множество таблици в SQL езика. Описанието на Inner Join в SQL е доста просто за разбиране на средния програмист, който току-що започва да разбира базите данни. Ако разгледаме описанието на механизма на тази конструкция, ще получим такава картина. Логиката на оператора като цяло се основава на възможността за пресичане и семплиране само на данните, които са във всеки от входовете в таблицата на заявките. Ако разглеждаме подобна работа по отношение на графична интерпретация, получаваме структурата на оператора SQL Inner Join, пример за който може да бъдепокажете с помощта на следната схема:
    Например, имаме две таблици, чиято схема е показана на фигурата. Те на свой ред имат различен брой записи. Всяка от таблиците има полета, които са свързани помежду си. Ако се опитаме да обясним работата на оператора въз основа на картината, върнатият резултат ще бъде под формата на набор от записи от две таблици, където числата са взаимосвързани полета. Казано по-просто, заявката ще върне само тези записи (от таблицата номер две), чиито данни са в таблицата номер едно.

    Синтаксисът на оператора Inner Join

    Както вече споменахме, операторът Inner Join, а именно синтаксисът, е изключително прост. За да се организират взаимоотношенията между таблиците в рамките на една извадка, ще бъде достатъчно да запомните и да използвате следната основна схема на конструиране на оператор, който е написан в една стъпка от софтуерния SQL код, а именно: от таблицата, към която се свързваме] = [Ключовото поле е таблицата, която трябва да се свърже].За комуникация в този оператор се използват основните ключове на таблиците. Обикновено в група от таблици, в които се съхранява информация за служителите, описаният по-рано човек и подразделение имат поне един подобен запис. Така че, помислете за оператора SQL Inner Join, пример за който е показан по-рано.

    Пример и описание на връзката към извадка от една таблица

    Имаме таблица „Лице“, която съхранява информация за всички служители, работещи в дадена компания. Веднага забележете, че основният ключ на тази таблица е полето - Pe_ID. Тя ще бъде от него и ще се върне. Втората таблица за подразделения ще бъдесъхранява информация за единиците, в които работят служителите. Тя, от своя страна, е свързана с използването на полето Su_Person с таблицата „Лица“. Какво пише? Въз основа на схемата на данните може да се каже, че в таблицата на подразделенията за всеки запис от таблицата "Служители" ще има информация за отдела, в който те работят. В тази връзка операторът Inner Join ще работи.
    За по-разбираемо използване разгледайте оператора SQL Inner Join (примери за използването му за една и две таблици). Ако погледнем един пример за една таблица, тогава всичко е съвсем просто:

    Изберете * от човек Вътрешно присъединяване Подразделение на Su_Person = Pe_ID

    Пример за свързване на две таблици и подзапитване

    )
    Операторът SQL Inner Join, примери за използване на данни от множество таблици могат да бъдат организирани по горепосочения начин, работи на леко сложен принцип. За двете таблици ще усложним задачата. Например, имаме таблица „Отклонение“, която съхранява информация за всички подразделения във всяко от разделите. Тази таблица съдържа номера на единицата и номера на служителя и трябва да добавите извадка от данните към името на всеки отдел. С поглед напред, си струва да се каже, че за разрешаването на този проблем могат да се използват два метода. Първият начин е да свържете таблиците за разделяне към извадката. Можете да подредите заявката в този случай:

    Изберете Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name от лице Inner join Подразделение на Su_Person = Pe_ID Вътрешно свързване Отпътуване на Su_Depart = Dep_ID и Pe_Depart = Dep_ID

    Вторият метод за решаване на задачата е да се използва подзапитване, с което да се използваразделения на маса ще бъдат избрани, не всички данни и само необходими. Това е в контраст с първия метод, ще намали времето на искането.

    Избор Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name от човек Вътрешна присъединят Разделяне на Su_Person = Pe_ID Вътрешна присъединят (Изберете Dep_ID, Dep_Name, Pe_Depart от Иди) като Т за Su_Depart = Dep_ID и Pe_Depart = Dep_ID

    следва да се отбележи, че този проект не винаги може да се ускори заявка. Понякога има моменти, когато ние трябва да използват допълнителни примерни данни във временна таблица (ако сумата е много голяма), а след това да го комбинирате с ядро ​​проба.

    Пример за Вътрешна присъединяване оператор да се вземе проба голям брой маси

    изгради сложни заявки включва използването на примерни данни за значителен брой маси и подзаявки взаимосвързани. Тези изисквания могат да задоволят SQL Вътрешна присъединяване синтаксис. Примери за оператора в този случай могат да бъдат сложни не само проби от много места за съхранение, но и голям брой вложени подзаявки. За конкретен пример може да вземе проба от данни от системата за маси (оператор Вътрешна присъединяване SQL). Пример - 3 от таблицата в този случай ще има много сложна структура.
    В този случай, свързан (главната таблица) три допълнителни условия въведени няколко избор данни. При използване на Inner присъединяване оператор трябва да се помни, че колкото по-сложна заявката, толкова по-дълго ще се реализира, така че трябва да се търсят начини за извършване по-бързо и да решат проблема.

    Заключение

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

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