JdbcTemplate을 사용한 데이터베이스 CRUD 처리
주요 메서드:
save(Book book): 도서 저장updateTitleAndAuthor(Book book): 도서 제목, 저자 수정deleteById(Long id): 도서 삭제findAll(): 도서 전체 목록 조회findById(Long id): 특정 도서 조회@Test 작성 및 JUnit5 사용SELECT USERNAME, REGISTRATION_DATE
FROM USERS
ORDER BY REGISTRATION_DATE DESC;
SELECT user_id, COUNT(*) AS post_count
FROM POSTS
GROUP BY user_id
ORDER BY post_count DESC;
SELECT post_id, user_id, content, creation_date
FROM POSTS
ORDER BY
CASE WHEN user_id = 21 THEN 1 ELSE 2 END,
creation_date DESC;
SELECT FULL_NAME, BIO, LENGTH(BIO) AS 소개글길이
FROM USER_PROFILES
ORDER BY 소개글길이 DESC;
SELECT post_id, COUNT(*) AS 댓글수
FROM COMMENTS
GROUP BY post_id
ORDER BY 댓글수 DESC;
SELECT *
FROM POSTS
ORDER BY
CASE
WHEN post_type = 'photo' THEN 1
WHEN post_type = 'video' THEN 2
END,
CREATION_DATE DESC;
CREATE TABLE DEPARTMENTS (
id NUMBER PRIMARY KEY,
name VARCHAR2(50) NOT NULL
);
CREATE TABLE EMPLOYEES (
id NUMBER PRIMARY KEY,
name VARCHAR2(50) NOT NULL,
dept_id NUMBER
);
SELECT E.ID, E.NAME, E.DEPT_ID, D.NAME AS DEPT_NAME
FROM EMPLOYEES E
JOIN DEPARTMENTS D ON E.DEPT_ID = D.ID;
SELECT P.POST_ID, U.USERNAME, U.EMAIL, P.CONTENT
FROM POSTS P
INNER JOIN USERS U ON P.USER_ID = U.USER_ID;
SELECT PT.POST_ID, P.CONTENT, H.TAG_NAME
FROM POST_TAGS PT
INNER JOIN HASHTAGS H ON PT.TAG_ID = H.TAG_ID
INNER JOIN POSTS P ON PT.POST_ID = P.POST_ID
WHERE H.TAG_NAME LIKE '%일상%'
ORDER BY PT.POST_ID;
ORDER BY)과 그룹핑 (GROUP BY) 복습CASE, JOIN, 문제 연습으로 SQL 활용 능력 향상