본문 바로가기
Web/sql

[SQL] inner join, 특정 속성이 최대인 행 고르는 where 조건

by alphaca202 2024. 1. 26.

프로그래머스 < 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기> 문제

select concat('/home/grep/src/', f.board_id, '/', f.file_id, f.file_name, f.file_ext) as file_path
from used_goods_board as b
    inner join used_goods_file as f
    on b.board_id = f.board_id
where b.views = (select max(views) from used_goods_board)
order by f.file_id desc;

 

1. inner join 문의 기본 구조 

-> inner join은 그냥 조인이라고도 함.

-> 조인 조건에 해당하는 각 테이블의 row 합치는 연산이라고 보면 된다.

SELECT <열 목록>
FROM <첫 번째 테이블>
    INNER JOIN <두 번째 테이블>
    ON <조인 조건>
[WHERE 검색 조건]

 

2. views가 최대인 행을 골라내는 조건문 

-> 기본 구조가 이렇게 됨. max인 salary를 구해서 모든 애트리뷰트를 select하라는 뜻.  

SELECT * FROM employee WHERE salary = (SELECT max(salary) FROM employee);

 

-> 위에서처럼 조인문에서도 사용 가능 

where b.views = (select max(views) from used_goods_board)

 

 

'Web > sql' 카테고리의 다른 글

[SQL] 카티션곱, 조인, 조건절  (1) 2024.03.04