Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как може LEFT OUTER JOIN да върне повече записи, отколкото съществуват в лявата таблица?

LEFT OUTER JOIN ще върне всички записи от таблицата LEFT, съединени с таблицата RIGHT, където е възможно.

Ако обаче има съвпадения, той пак ще върне всички редове, които съвпадат, следователно, един ред в НАЛЯВО, който съвпада с два реда в ДЯСНО, ще се върне като два РЕДА, точно като INNER JOIN.

РЕДАКТИРАНЕ:В отговор на вашата редакция току-що разгледах допълнително вашата заявка и изглежда, че връщате само данни от ЛЯВАТА таблица. Следователно, ако искате само данни от таблицата LEFT и искате да се върне само един ред за всеки ред в таблицата LEFT, тогава нямате нужда да извършвате JOIN изобщо и можете просто да направите SELECT директно от таблицата LEFT.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задайте начална стойност за колона с автоматично увеличение

  2. CRUD операции на SQL Server

  3. Грешка при влизане в SQL Server 2008 Windows Auth:Входът е от недоверен домейн

  4. SQL Server - Автоматично увеличаване, което позволява изрази UPDATE

  5. Изследване на SQL Server 2014 SELECT INTO Parallelism