Кратко ръководство за използване на вътрешни присъединения в SQL

click fraud protection

Релационните бази данни са конюшня на много бизнеси. Те се създават с компютърен език, наречен Структуриран език за заявки (SQL). Ако работите с релационни бази данни, от време на време ще проверявате или събирате данни, които се намират в повече от една таблица на базата данни.

Какво е SQL JOIN изявление?

Оператор SQL JOIN дава възможност за присъединяване на две или повече таблици, обикновено базирани на свързана колона, така че данните да се третират така, сякаш се намират в една таблица. Самите таблици не се променят от присъединяването.

SQL ПРИСЪЕДИНЯВАНЕ е гъвкав и функционален. Въпреки че има няколко вида съединения, вътрешното съединение е едно от най-лесните за разбиране и използване. Разгледайте следните SQL изрази, които илюстрират как да комбинирате резултатите от три различни таблици с помощта на вътрешно съединение.

Пример за вътрешно присъединяване

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

instagram viewer

SQL инструкцията по-долу комбинира данни от таблиците Drivers and Vehicles в случаите, когато водачът и превозното средство се намират в един и същи град:

ИЗБЕРЕТЕ фамилно име, собствено име, таг
ОТ шофьори, превозни средства
КЪДЕ драйвери.локация = превозни средства.место

Тази заявка дава следните резултати:

таг за собствено име

Бейкър Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Сега разширете този пример, за да включите трета таблица. За да включите само шофьори и превозни средства, присъстващи на места, отворени през уикенда, въведете трета таблица в заявката, като разширите израза JOIN, както следва:

ИЗБЕРЕТЕ фамилно име, собствено име, таг, отворени_уикенди
ОТ шофьори, превозни средства, местоположения
КЪДЕ драйвери.локация = превозни средства.место
И превозни средства. Местоположение = местоположения. Местоположение
AND locations.open_weekends = 'Да'

Тази заявка дава следните резултати:

фамилно име собствено таг open_weekends

Baker Roland H122JM да
Jacobs Abraham J291QR да
Jacobs Abraham L990MY да

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

Други видове присъединявания

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

Освен това можете да изберете да използвате различен тип присъединяване, в зависимост от обстоятелствата. Тези други видове присъединявания са:

  • Ляво външно съединение (ляво присъединяване): Съдържа всеки запис от лявата таблица, дори ако дясната таблица няма съвпадащ запис.
  • Десен външен съединител (дясно присъединяване): Връща цялата подходяща информация от дясната таблица, дори ако лявата таблица няма съвпадение.
  • Пълно присъединяване: Избира всички записи от две таблици, независимо дали имат или не съответстващо условие за присъединяване.
instagram story viewer