---
title: "Märklig form av join - vad händer egentligen här?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/187003-märklig-form-av-join-vad-händer-egentligen-här"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "aasah"
published: "2011-05-22T18:57:06.000Z"
updated: "2011-05-23T12:31:07.000Z"
replies: 1
views: 1095
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/187003-märklig-form-av-join-vad-händer-egentligen-här"
---

# Märklig form av join - vad händer egentligen här?

## #1 — aasah, 2011-05-22T18:57Z

I normala fall knyter man ihop varje ny tabell som införs i en join med redan införda tabeller som står ovanför i FROM-klausulen. Nu har jag i befintlig kod hittat ett uttryck som jag undrar hur, närmare bestämt, MS SQL servern (2000) egentligen tolkar innehållet. 

Frågan hämtar information om vilka användare som har rätt att se vilka saker (s.k. AccessPoints, vilkas rättigheter sätts på användargruppsnivå) samt lite annat smått och gott.

```
SELECT *
FROM
        User U
        INNER JOIN UserGroup UG ON U.UserID = UG.UserID
        INNER JOIN UserGroupAccessPoint UGAP --!! No "ON" ?!
        INNER JOIN Group G ON UGAP.GroupID = G.GroupID
        INNER JOIN AccessPoint AP ON UGAP.AccessPointID = AP.AccessPoint
                ON --!! Here comes the missing "ON"...
                   UG.GroupID = G.GroupID
        INNER JOIN AnotherTable T ON UGAP.AccessPointID = T.AccessPointID
```

Koden fungerar så till vida att den hämtar ut rätt saker, men det tar närmare 9 sekunder (!!) mot 0 om frågan skrivs om på vanligt sätt.

Är det möjligen så att det i själva verket blir en CROSS JOIN mellan UG och UGAP här eftersom det saknas villkor dem emellan? Eller vad händer?

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

## #2 — LarsG, 2011-05-23T12:31Z

Det blir olika optimering, jämför resultatet av explain för båda frågorna.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/187003-märklig-form-av-join-vad-händer-egentligen-här
