---
title: "Något bättre än LEFT JOIN?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/191125-något-bättre-än-left-join"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "JahaJoho"
published: "2013-02-05T12:58:49.000Z"
updated: "2013-02-05T13:53:33.000Z"
replies: 8
views: 644
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/191125-något-bättre-än-left-join"
---

# Något bättre än LEFT JOIN?

## #1 — JahaJoho, 2013-02-05T12:58Z

Jag har två tabeller, Tab1 och Tab2.
Tab1 har kolumnerna ID och VAR1. Tab2 har kolumnerna ID och VAR2.
I Tab1 har varje ID många poster. I Tab2 har varje ID en och endast en post.
Jag vill föra över kolumnen VAR2 till Tab1.

Utseendet kunde vara det följande efter åtgärden:

ID\*\*\*\*VAR1\*\*\*\*VAR2
10\*\*\*\*\*7\*\*\*\*\*\*\*3
10\*\*\*\*\*5\*\*\*\*\*\*\*3
17\*\*\*\*\*4\*\*\*\*\*\*\*8
17\*\*\*\*\*9\*\*\*\*\*\*\*8
17\*\*\*\*\*6\*\*\*\*\*\*\*8
\-
osv

Finns det något bättre sätt än LEFT JOIN? Tacksam för hjälp.

Permalänk: https://www.webforum.nu/p/191125

## #2 — @nders, 2013-02-05T13:08Z

INNER JOIN - men jag är inte helt säker på vad du menar med "bättre sätt".

mvh

Permalänk: https://www.webforum.nu/p/2307700

## #3 — JahaJoho, 2013-02-05T13:11Z

> **[@nders skrev:](https://www.webforum.nu/p/1558351)**
>
> INNER JOIN - men jag är inte helt säker på vad du menar med "bättre sätt".
> 
> mvh

Snabbare. Den första tabellen har mer än en miljon poster.

Permalänk: https://www.webforum.nu/p/2307701

## #4 — @nders, 2013-02-05T13:13Z

Ok, vilken dbms gäller det?

Om det hade varit SQL Server hade jag slängt in Tab2 i en tabellvariabel och joinat mot.

mvh

Permalänk: https://www.webforum.nu/p/2307702

## #5 — JahaJoho, 2013-02-05T13:20Z

Toad for Oracle

Permalänk: https://www.webforum.nu/p/2307703

## #6 — @nders, 2013-02-05T13:23Z

Jag kan väldigt lite om Oracle - men det känns som att med bra index borde det inte ta så lång tid att exekvera en inner join när tabellerna är så enkla som du beskriver.

mvh

Permalänk: https://www.webforum.nu/p/2307704

## #7 — JahaJoho, 2013-02-05T13:29Z

Vad blir skillnaden med inner join?
 Tacksam om du vill visa kod. Med left join fick jag ID-kolumnen en gång till, om jag nu kommer ihåg rätt.

Permalänk: https://www.webforum.nu/p/2307705

## #8 — @nders, 2013-02-05T13:40Z

I det här sammanhanget är nog inte skillnaden så stor med INNER JOIN - skillnaden är att LEFT JOIN ger dig NULL från tabell 2 om inte JOIN-villkoret uppfylls. INNER kräver att villkoret uppfylls - men på din beskrivning förstod jag att alla poster i Tab1 har *en* koppling i Tab2.

Om du fick ID-kolumnen en gång till beror det sannolikt på att du skrivit SELECT \* - ange istället bara de kolumner du vill ha.

```
SELECT Tab1.ID, Var1, Var2
FROM Tab1
  INNER JOIN Tab2 
     ON Tab1.ID = Tab2.ID
```

Mvh

Permalänk: https://www.webforum.nu/p/2307706

## #9 — JahaJoho, 2013-02-05T13:53Z

Jo, så hade jag gjort. Tackar så mycket.

Permalänk: https://www.webforum.nu/p/2307708

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/191125-något-bättre-än-left-join
