ЗНАЙ ИНТУИТ, Лекция, SQL език
Външни асоциации
Стандартът SQL2 разшири концепцията за условни съединения. В стандарта SQL1, когато се присъединяваха към релации, бяха използвани само условията, посочени в клаузата WHERE на оператора SELECT, и в този случай, само кортежи от оригиналните релации, за които тези условия бяха дефинирани и истина, бяха обединени от посоченото условия в получената връзка. В действителност обаче често е необходимо да се присъединят таблици по такъв начин, че резултатът да включва всички редове от първата таблица и вместо онези редове от втората таблица, за които условието за присъединяване не е изпълнено, резултатът ще съдържа недефинирани стойности. Или обратно, всички редове от дясната (втората) таблица са включени, а липсващите части от редове от първата таблица са подплатени с нулеви стойности. Такива обединения бяха наречени външни съединения, за разлика от съединения, дефинирани от стандарта SQL1, който започна да се нарича вътрешен.
По принцип синтаксисът за частта FROM в стандарта SQL2 е както следва:
В тези дефиниции INNER означава вътрешно съединение, LEFT означава ляво съединение, т.е. резултатът включва всички редове на таблица 1, а части от получените кортежи, за които не е имало съответни стойности в таблица 2, се допълват с NULL стойности (недефинирани). Ключовата дума НАДЯСНО означава дясно външно съединение и за разлика от лявото съединение, в този случай всички редове на таблица 2 са включени в получената връзка, а липсващите части от таблица 1 са допълнени с нулеви стойности. Ключовата дума FULL определя пълна външна връзка присъединяване: и ляво, и дясно. При пълно външно съединение се извършват както дясно, така и ляво външно съединение и получената връзка включва всички редове от таблица 1, подплатени с нулеви стойности и всички редове от таблица 2, също подплатени с нулеви стойности.