2014-01-20 3 views
0

MS SQL 서버용으로 작성된 일부 기존 SQL 쿼리를 읽으려고합니다.기존 SQL 쿼리 이해

나는 데이터베이스에 대한 액세스, 테이블 이름 등 그냥 원시 쿼리 형식이없는 ... 그리고 나는

나는 어떤 특정 이해에 도움이 필요합니다 .. 필요한 분야에 대한 몇 가지 분석을 할 필요가 쿼리 문은 ... 그런 다음 블록으로 ... 일을

select FIELD1, x2.FIELD2 
    into #temp 
    from #temp1 x1 join #temp2 x2 
    on x1.FIELD1 = x2.FIELD2 
    and x1.FIELD3 = x2.MAXOCCUR 

나는 기본적인 SQL의 이해를 .. 그러나에서 ''로 '수행하고 왜 .... 것들 몇 가지를 이해할 필요가 '문은 테이블 이름의 앞쪽에'# '이 있습니다 .....이 경우 x1과 x2는 무엇입니까? 이유는 단지

누군가가 나를 도울 수 ... 나는 등 조인 이해 ....

  temp1.FIELD1 = temp2.FIELD2 instead of 
      x1.FIELD1 = x2.FIELD2 

가 ..... 뭔가 없거나이 쿼리로 시작하는 이상한 형성되고 있습니까 말을하지. ..

감사합니다.

+1

http://stackoverflow.com/questions/3166117/what-does-the-sql-symbol-mean-and-how-is-it-used – LittleBobbyTables

+0

ok. 너희들 고마워 ... 그래서 # 임시 테이블에 사용되는 하나의 별칭 테이블 이름을 ... – buzcrawl

답변

1

이것은 기존의 임시 임시 테이블 두 개를 새 임시 테이블로 선택합니다. x1.FIELD1을 앨리어싱이라고합니다. 쿼리를 작성할 때 전체 테이블 이름을 입력 할 필요가 없도록 사용됩니다.

+0

감사합니다. 나는 무엇을 먼저 검색해야할지 몰랐는데 ... 정말로 감사드립니다 ... – buzcrawl

+0

문제는 없지만, 저의 대답을 수락 하셔도 좋습니다 :) – mituw16

1

앞에서 언급했듯이 # 기호는 TEMPORARY 테이블을 나타냅니다.

x1 및 x2는이 쿼리에서 "테이블 별칭"으로 사용됩니다. 예, 쓸 수 있습니다

temp1.FIELD1 = temp2.FIELD2 instead of x1.FIELD1 = x2.FIELD2 

그러나 테이블에 긴 이름이 있는지 확인하십시오. 그런 다음 별칭을 사용하면 쿼리를 더 쉽게 읽을 수 있습니다 (사람의 경우 컴퓨터가 실제로 신경 쓰지 않습니다).