달력

05

« 2007/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2007/05/19 22:48

내부조인 / 외부조인(05) General Tech.2007/05/19 22:48


조인(Join)
교집합 연산
다른 점은? 지정한 열에 대해서만 조인을 수행하도록 요청한다는 점.

내부조인(Inner Join)
양쪽 테이블 또는 결과 집합들의 연결 값들이 매칭되는 행들만 반환.

SELECT DISTINCT Value Expression FROM table_name INNER JOIN table_name ON Search_Condition or (USING)column_name

JOIN 하기
Recipe_Classes의 RecipeClassID와 Recipes의 RecipeClassID를 내부 조인한다.

SELECT   RecipeTitle, Preparation, RecipeClassDescription
FROM      Recipe_Classes
               INNER JOIN Recipes
ON           Recipe_Classes.RecipeClassID = Recipes.RecipeClassID

일부 데이터베이스는 JOIN을 지원하지 않는다.
그럴 경우에는 다음과 같이 작성한다.

SELECT   RecipeTitle, Preparation, RecipeClassDescription
FROM      Recipe_Classes, Recipes
WHERE    Recipe_Classes.RecipeClassID = Recipes.RecipeClassID


외부 조인이란?
연결하고자 하는 두 집합 중 하나 이상으로 부터 온 매칭되지 않는 행들까지 포함하도록 DB 시스템에 요청

LEFT OUTER JOIN
첫번째 테이블과 두번째 테이블에서 처음에 나오는 것을 LEFT로 지칭
따라서 첫번째 테이블의 모든 내용을 가져오고, 오른쪽 테이블에서는 매칭되는 것만 가져온다.

RIGHT OUTER JOIN
위의 LEFT OUTER JOIN과 같은 개념이며, 대상이 되는 테이블만 다르다.

저작자 표시 비영리 변경 금지
Posted by -세티-

SELECT 문
SELECT 절 내에 적절한 열 이름을 나열함으로써 테이블 내의 열들로 부터 정보를 추출.
예) SELECT FirstName, LastName, PhoneNumber FROM Employee
위는 정보를 추출하는 가장 기본적인 방법임.

열 이름을 부모 테이블의 이름으로 구체적으로 한정할 수도 있음.
예) SELECT Employee.FirstName, Employee.LastName, Employee.PhoneNumber FROM Employee
단일 테이블 조회에서는 사용하지 않아도 되지만 다중 테이블에서 정보 추출시 필요하다.

구체적인 값 지정하기
문자열, 숫자, 날짜, 시각 또는 항목들의 적절한 조합과 같은 값들을 임의의 유효한 연산식에서 사용하도록 함(융통성이 강함)

문자열 상수
홑 따옴표를 사용
예) SELECT VendWebPage VendName FROM Vendors
     -> SELECT VendWebPage, 'is the web site for', VendName FROM Vendors


숫자상수
부호붙은 숫자, 소수점, 지수 기호, 지수 숫자도 포함이 가능
연산식에서 매우 유용함.

날짜/시각 상수
날짜/시각(datetime) 상수를 이용하여 특정 날짜와 시각을 제공함.


연산식이란?
숫자, 문자열, 날짜/시각을 포함하며, 테이블의 특정 열로부터 추출된 값, 상수 값 또는 이들의 조합을 사용.

SQL 데이터형
문자, 국가별문자, 비트, 정밀숫자, 근사 숫자, 날짜/시각, 기간 이 있음.

연산식의 종류
연결 - 둘 이상의 항목들을 단일 문자열로 결합하기
수학 - 더하기, 빼기. 곱하기, 나누기
날짜/시각 계산 - 날짜와 시각에 더하기와 빼기를 적용하기

연결 : 연산식 ItemOne || ItemTwo => ItemOneItemTwo
         연산식 'Mike' || 'Hernadez' => MikeHernandez
         연산식 'Mike' || ' ' || 'Hernandez' => Mike Hernandez


날짜나 숫자는 CAST 함수를 사용해야 함.
CAST(Literal Value ------ AS ------ data_type -------)
CAST 함수는 상수 값 또는 열 값을 특정 데이터 형으로 변환함.

열 값을 원래의 데이터 형에서 다른 데이터 형으로 변환할 경우 고려해야 할 사항.
- 가변 길이 문자 열의 값을 고려.
- 문자 열을 다른 데이터 형으로 변환할 수 있지만 이 열의 값은 대상 데이터 형의 올바른 상수 값이어야 함.
- 숫자 열의 값을 다른 숫자 데이터 형으로 변환할 때 값이 대상 데이터 형에 맞아야 함.

수학
더하기, 빼기, 곱하기, 나누기를 숫자 데이터에 대해 수행할 수 있는 연산으로 정의
연산 우선순위 : 곱하기, 나누기, 더하기, 빼기
저작자 표시 비영리 변경 금지
Posted by -세티-

SQL의 기원
1970년 관계형 데이터베이스 모델 발표(E.F. Codd)
1974~75년 IBM 산타레사 연구소에서 관계형 데이터베이스의 최소 프로토타입 완성
1974년 SEQUEL(Structured English Query Language) 개발
1977년 Relational Software의 Oracle
1981년 IBM의 SQL/Data System
1983년 IBM, SQL/DS 발표
1985년 IBM, DB2 발표

SELECT 문
정보를 추출하는 수단(누가, 어디서, 무엇을, 언제, 만약~이라면, 얼마나, 많이 .......)
모든 질문의 기초

SELECT Statement
SELECT column name FROM table_name WHERE Search Condition GROUP BY column_name HAVING Search Condition

데이터와 정보의 차이점?
- 데이터는 데이터베이스에 저장하는 것
- 정보는 데이터베이스로 부터 추출하는 것

요구사항을 SQL로 변환하기
SELECT <item> FROM <source>
고객테이블에서 도시를 선택하시오. -> Select city from the city -> SELECT city FROM Customers

중복행 제거하기
SELECT DISTINCT column_name FROM table_name

정보 정렬하기
SELECT Statement ORDER BY column_name ASC(DESC)
저작자 표시 비영리 변경 금지
Posted by -세티-