검색결과 리스트
전체보기에 해당되는 글 1801건
-
2025.06.21
MySQL] 프로그래머스 물고기 종류 별
-
2025.06.21
[MySQL] 가장 큰 물고기 10마리 구하기
- 2025.06.10 LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN
- 2025.06.10 LPAD, RPAD 함수
- 2025.06.09 Oracle SQL Decode 사용
- 2025.06.09 오라클 SYSDATE
- 2025.06.04 제이피
- 2025.06.04 my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기
글
MySQL] 프로그래머스 물고기 종류 별
작성 코드
select t1.ID, t2.FISH_NAME as FISH_NAME, t1.LENGTH
from FISH_INFO t1 inner join
FISH_NAME_INFO t2 on t1.FISH_TYPE = t2.FISH_TYPE
where t1.FISH_TYPE IN (select FISH_TYPE
from FISH_INFO
group by FISH_TYPE
having LENGTH = MAX(LENGTH))
order by t1.ID
'SQL프로그래밍' 카테고리의 다른 글
[MySQL] 가장 큰 물고기 10마리 구하기 (0) | 2025.06.21 |
---|---|
LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN (0) | 2025.06.10 |
LPAD, RPAD 함수 (0) | 2025.06.10 |
Oracle SQL Decode 사용 (0) | 2025.06.09 |
오라클 SYSDATE (0) | 2025.06.09 |
글
[MySQL] 가장 큰 물고기 10마리 구하기
작성 코드
select ID, LENGTH
from FISH_INFO
where LENGTH is not null
order by 2 desc, 1 asc
limit 10
'SQL프로그래밍' 카테고리의 다른 글
MySQL] 프로그래머스 물고기 종류 별 (0) | 2025.06.21 |
---|---|
LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN (0) | 2025.06.10 |
LPAD, RPAD 함수 (0) | 2025.06.10 |
Oracle SQL Decode 사용 (0) | 2025.06.09 |
오라클 SYSDATE (0) | 2025.06.09 |
글
LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN
LEFT JOIN
- 왼쪽 테이블을 중심으로 오른쪽의 테이블을 매치시킨다.
- 왼쪽 테이블의 한개의 레코드에 여러개의 오른쪽 테이블 레코드가 일치할 경우,
해당 왼쪽 레코드를 여러번 표시하게 된다.
- 왼쪽은 무조건 표시하고, 매치되는 레코드가 오른쪽에 없으면 NULL을 표시한다.
-
왼쪽 테이블 중심:LEFT JOIN은 왼쪽 테이블을 기준으로 결합을 수행합니다. 즉, 왼쪽 테이블의 모든 행이 결과에 포함됩니다.
-
일치하는 행 결합:오른쪽 테이블에서 왼쪽 테이블의 행과 일치하는 행이 있는 경우, 두 테이블의 정보를 결합하여 반환합니다.
-
일치하지 않는 행 처리:오른쪽 테이블에서 왼쪽 테이블의 행과 일치하는 행이 없는 경우, 해당 행의 오른쪽 테이블 값은 NULL로 표시됩니다.
-
RIGHT JOIN과의 차이:LEFT JOIN은 왼쪽 테이블을 기준으로 하고, RIGHT JOIN은 오른쪽 테이블을 기준으로 합니다.
SELECT *
FROM 테이블A
LEFT JOIN 테이블B
ON 테이블A.키 = 테이블B.키;
-
데이터베이스에서 두 테이블의 관계를 파악할 때:왼쪽 테이블에 있는 모든 데이터와 오른쪽 테이블에 해당하는 데이터를 결합하여 관계를 파악할 수 있습니다.
-
왼쪽 테이블의 데이터를 기준으로 특정 정보를 확인하고 싶을 때:왼쪽 테이블의 모든 행에 대해 오른쪽 테이블의 정보를 추가로 표시하고 싶을 때 사용합니다.
-
왼쪽 테이블의 데이터가 존재하더라도 오른쪽 테이블의 데이터가 없을 경우를 처리할 때:NULL 값으로 표시하여 오른쪽 테이블 데이터의 유무를 확인할 수 있습니다.
RIGHT JOIN
- 오른쪽 테이블을 중심으로 왼쪽 테이블을 매치시킨다.
- LEFT JOIN에서 방향을 오른쪽으로만 바꾼것이므로, 역시 해당 레코드가 여러번 표시되거나, NULL이 표시된다.
OUTER JOIN은 외부 조인으로 기준이 되는 테이블이 조인 수행 시 드라이빙 테이블이 됩니다. 드라이빙 테이블이란 JOIN문을 실행했을 때 첫번째로 ACCESS되는 테이블을 의미합니다. 쿼리 수행 시 OUTER는 생략해도 무방합니다.
말로만 하면 헷갈릴 수 있기 때문에 실제 예시를 갖고 설명해보겠습니다. 위 테이블은 JOIN에 사용될 테이블입니다. EMP테이블의 기본키는 A컬럼, DEPT테이블의 기본키는 C컬럼이며 EMP테이블의 C컬럼은 DEPT테이블을 참조로 하는 외래키입니다.
LEFT JOIN
왼쪽 테이블을 기준으로 A, B 테이블을 비교해서 B테이블에서 조인 조건에 해당하는 값이 있다면 그 값을 가져오고 값이 없다면 NULL값을 가져옵니다. 즉, WHERE절로 조회 조건을 제한하지 않는 이상 왼쪽 테이블의 값은 모두 출력되는 것입니다.
SELECT *
FROM EMP A
LEFT JOIN DEPT B
ON A.C = B.C;
EMP 테이블을 기준으로 JOIN문이 수행됩니다. C=y인 경우는 DEPT 테이블에 없기 때문에 해당 열의 D,E컬럼은 NULL값으로 출력됩니다.
RIGHT JOIN
RIGHT JOIN은 반대로 우측 테이블을 기준으로 조인을 수행하기 때문에 우측 테이블의 값은 모두 출력됩니다.
DEPT테이블을 기준으로 JOIN하는데 C=w인 값이 EMP테이블에 2개가 있기 때문에 두 값이 모두 출력됩니다. C=z, C=v인 값은 EMP테이블에 없기 때문에 A,B 컬럼은 NULL로 출력됩니다.
FULL JOIN
마지막으로 FULL JOIN은 양쪽 테이블 모두가 기준이 됩니다. LEFT JOIN과 RIGHT JOIN의 결과를 합집합으로 처리한 결과와 동일합니다. 단, UNION ALL이 아닌 UNION 기능과 같기 때문에 중복 데이터는 삭제합니다.
'SQL프로그래밍' 카테고리의 다른 글
MySQL] 프로그래머스 물고기 종류 별 (0) | 2025.06.21 |
---|---|
[MySQL] 가장 큰 물고기 10마리 구하기 (0) | 2025.06.21 |
LPAD, RPAD 함수 (0) | 2025.06.10 |
Oracle SQL Decode 사용 (0) | 2025.06.09 |
오라클 SYSDATE (0) | 2025.06.09 |
글
LPAD, RPAD 함수
'SQL프로그래밍' 카테고리의 다른 글
[MySQL] 가장 큰 물고기 10마리 구하기 (0) | 2025.06.21 |
---|---|
LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN (0) | 2025.06.10 |
Oracle SQL Decode 사용 (0) | 2025.06.09 |
오라클 SYSDATE (0) | 2025.06.09 |
my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기 (0) | 2025.06.04 |
글
Oracle SQL Decode 사용
DECODE(A, B, C)
A가 B값과 일치하면 C값을 출력하고 일치하지 않으면 NULL값을 출력하라.
DECODE(A, B, C, D)
A가 B값과 일치하면 C값을 출력하고 일치하지 않으면 D값을 출력하라.
DECODE(A, B, C, D, E)
A가 B값과 일치하면 C값을 출력하고 A가 D값과 일치하면 E값을 출력하고 일치하지 않으면 NULL를 출력하라.
DECODE(A, B, C, D, E, F)
A가 B값과 일치하면 C값을 출력하고 A가 D값과 일치하면 E값을 출력하고 일치하지 않으면 F를 출력하라.
'SQL프로그래밍' 카테고리의 다른 글
LEFT JOIN(레프트 조인), RIGHT JOIN, OUTER JOIN, FULL JOIN (0) | 2025.06.10 |
---|---|
LPAD, RPAD 함수 (0) | 2025.06.10 |
오라클 SYSDATE (0) | 2025.06.09 |
my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기 (0) | 2025.06.04 |
프로그래머스 레벨3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2025.05.25 |
글
오라클 SYSDATE
'SQL프로그래밍' 카테고리의 다른 글
LPAD, RPAD 함수 (0) | 2025.06.10 |
---|---|
Oracle SQL Decode 사용 (0) | 2025.06.09 |
my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기 (0) | 2025.06.04 |
프로그래머스 레벨3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2025.05.25 |
프로그래머스 레벨2 자동차 평균 대여 기간 구하기 (1) | 2025.05.25 |
글
글
my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기
select count(FISH_INFO.ID) as FISH_COUNT
from FISH_INFO
where FISH_INFO.LENGTH is NULL
'SQL프로그래밍' 카테고리의 다른 글
Oracle SQL Decode 사용 (0) | 2025.06.09 |
---|---|
오라클 SYSDATE (0) | 2025.06.09 |
프로그래머스 레벨3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2025.05.25 |
프로그래머스 레벨2 자동차 평균 대여 기간 구하기 (1) | 2025.05.25 |
프로그래머스 레벨3 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2025.05.24 |