SQL Server / Query / JOIN

JOIN으로 여러 개의 테이블의 데이터를 연결하여 조회할 수 있다.

다음과 같은 두 개의 테이블이 있다고 하자. country에는 나라의 이름이, city에는 도시의 이름이 있다. 

INNER JOIN

  • country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다.
  • 두 테이블에 모두 존재하는 데이터를 출력한다.
select
  country.country_name,
  city.city_name
from country
inner join city on country.country_no = city.country_no
;

LEFT JOIN

  • country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다.
  • country 테이블에 있는 데이터는 모두 출력하고, city 테이블에 연결된 값이 있으면 그 값을 출력한다.
select
  country.country_name,
  city.city_name
from country
left join city on country.country_no = city.country_no
;

RIGHT JOIN

  • country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다.
  • city 테이블에 있는 데이터는 모두 출력하고, country 테이블에 연결된 값이 있으면 그 값을 출력한다.
select
  country.country_name,
  city.city_name
from country
right join city on country.country_no = city.country_no
;

  • 다음과 결과는 같다.
select
  country.country_name,
  city.city_name
from city
left join country on country.country_no = city.country_no
;

FULL JOIN

  • country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다.
  • 두 테이블의 모든 데이터를 출력하는데, 연결된 것이 있다면 같은 행에 출력한다.
select
  country.country_name,
  city.city_name
from country
full join city on country.country_no = city.country_no
;

 

CROSS JOIN

  • country 테이블의 값 하나하나에 city 테이블의 모든 값을 출력한다.
select
  country.country_name,
  city.city_name
from country
cross join city
;

같은 카테고리의 다른 글
SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SSMS로 테이블 작업을 할 때 다음과 같은 메시지와 함께 저장이 되지 않는 경우가 있다. 변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을 변경했거나 옵션을 설정했습니다. 테이블 열의 순서를 변경하는 등 특정 ...

SQL Server / Agent XPs 구성 요소는 이 서버의 보안 구성에 따라 해제되었습니다.

SQL Server / Agent XPs 구성 요소는 이 서버의 보안 구성에 따라 해제되었습니다.

SSMS로 작업하다보면 다음과 같은 메시지를 만날 때가 있습니다. 이를 해결하는 방법은... SQL Server가 설치된 컴퓨터에서 SSMS를 실행한 후, 을 선택하고... 마우스 우클릭 한 후 을 클릭합니다. 를 클릭하고... 잠시 기다리면... 다음과 같이 메뉴가 바뀌면서 해결됩니다.

SQL Server / Query / ROLLUP

SQL Server / Query / ROLLUP

부분합 등을 구하고 싶다면 ROLLUP을 사용한다. 기본 다음과 같은 sales 테이블이 있다고 하자. team은 소속, man은 직원, sales는 판매액이다. select * from sales ; 다음과 같이 하면 직원별 소계, 팀별 소계, 전체 합계가 출력된다. select id, team, man, sum( sales ) as sales from sales group by rollup ( team, man, id ) ; 다음과 같이 ...

SQL Server / 제어문 / CASE

SQL Server / 제어문 / CASE

CASE 함수는 데이터의 값에 따라 특정 값을 부여할 때 사용한다. CASE로 시작하여 END로 끝나고, 조건은 WHEN, 부여할 값은 THEN으로 정의한다. 예를 들어 다음과 같은 점수 데이터가 있다고 하자. 20점 이하는 E, 20점 초과 40점 이하는 D, 40점 초과 60점 이하는 C, 60점 초과 80점 이하는 B, 80점 초과 100점 이하는 A를 주고 ...

SQL Server / SSMS / 탭 설정하는 방법

SQL Server / SSMS / 탭 설정하는 방법

SSMS의 텍스트 에디터의 기본 탭 크기는 4이다. 만약 탭 크기를 변경하고 싶다면 을 열고, 텍스트 편집기 > 모든 언어 > 탭 으로 이동하여, 탭 크기의 수를 조정한다. 그리고 이에 맞게 들여쓰기도 같이 조정한다. 개인적으로 선호하는 설정은 탭 크기 2에 공백 삽입.

SQL Server 2022 / 설치

SQL Server 2022 / 설치

SQL Server 설치 DVD 또는 ISO 파일 안에 있는 setup 파일을 더블 클릭하여 실행한다. 왼쪽에서 를 클릭한다. 무료 버전을 선택하거나 제품 키를 입력 후 을 클릭한다. 약관에 동의하고 을 클릭한다. 체크 안 해도 되지만, 권장사항이므로 인터넷에 연결되어 있다면 [Microsoft 업데이트를 통해 업데이트 ...

SQL Server / 열 / 만들기, 삭제하기, 수정하기, 조회하기

열 정보 조회하기 방법 1 client 테이블의 열의 모든 정보를 조회한다. select * from information_schema.columns where table_name = 'client'; client 테이블의 열의 특정 정보만 조회한다. select column_name, ordinal_position, data_type from information_schema.columns where table_name = 'client'; 방법 2 execute sp_columns @table_name = 'city'; 열 추가하기 client 테이블에 client_name 열을 추가한다. 테이터 형식은 varchar, 최대 길이는 50이다. alter table client add ...

SQL Server / 샘플 데이터베이스 AdventureWorks 설치하는 방법

SQL Server / 샘플 데이터베이스 AdventureWorks 설치하는 방법

만약 공부에 필요한 샘플 데이터베이스가 필요하다면 Micrososft에서 제공하는 AdventureWorks를 사용하자. AdventureWorks 샘플 데이터베이스 페이지에 접속하여 백업 파일을 다운로드한다. AdventureWorks는 OLTP 데이터베이스, AdventureWorksDW는 OLAP 데이터베이스, AdventureWorksLT는 AdventureWorks의 경량 및 축소 버전이다. 디스크 공간이 충분하다면 AdventureWorks와 AdventureWorksDW를 설치하자. SSMS에서 를 선택하고... 마우스 우클릭 후 을 클릭한다. 를 선택하고, 찾아보기 아이콘을 클릭한 후... 를 클릭하고... 다운로드한 파일을 선택하고 을 클릭한다. 을 ...

SQL Server / SSMS / 글꼴 변경하는 방법

SQL Server / SSMS / 글꼴 변경하는 방법

SQL Server 관리는 보통 SSMS(SQL Server Management Studio)로 한다. 다른 툴도 많이 있지만, 전용 도구가 갖는 장점이 많이 있기 때문이다. 보통 한글 버전을 설치하게 되는데, 쿼리 창 기본 글꼴이 돋움체이다. 만약 이 글꼴이 마음에 들지 않는다면 옵션에서 변경할 수 있다. 변경은 에서 한다. 에서 글꼴을 설정해주면 끝. 개인적으로 ...

SQL Server 2022 / SQL Server 사용자 인증 가능하게 하는 방법

SQL Server 2022 / SQL Server 사용자 인증 가능하게 하는 방법

SQL Server를 설치할 때 별도의 설정을 하지 않았다면, Windows 인증만 가능하다. 만약 SQL Server의 인증도 필요하게 되었다면 설정 변경을 해야 한다. 아래는 SSMS를 이용하여 서버 인증 방식을 변경하는 방법이다. SSMS에서 개체를 선택하고 마우스 우클릭한다. 을 클릭한다. 왼쪽에서 을 선택한다. 오른쪽에 있는 를 선택한다. 을 클릭한다. 이 변경은 SQL Server ...