오늘 학습 키워드 : SQL 복습 + 파이썬 판다스🐼
오늘 학습 한 내용을 나만의 언어로 정리하기 :
💡조건에 맞는 사용자 정보 조회하기
SELECT USER_ID,
NICKNAME,
CONCAT(U.STREET_ADDRESS1, U.STREET_ADDRESS2) AS 상세주소,
CONCAT(SUBSTR(U.TLNO, 1, 3), '-', SUBSTR(U.TLNO, 4, 4), '-', SUBSTR(U.TLNO, 8, 4)) AS TLNO
FROM USED_GOODS_USER U
LEFT JOIN (SELECT WRITER_ID, COUNT(*) AS CNT_USER FROM USED_GOODS_BOARD B GROUP BY WRITER_ID HAVING COUNT(*) >= 3) B
ON U.USER_ID=B.WRITER_ID
ORDER BY USER_ID DESC
→ 위 쿼리의 문제점 : having절을 유효하게 하려면 left가 아닌 inner join을 써야 한다.
SELECT U.USER_ID,
U.NICKNAME,
CONCAT(U.CITY, ' ', U.STREET_ADDRESS1, ' ', U.STREET_ADDRESS2) AS 상세주소,
CONCAT(SUBSTR(U.TLNO, 1, 3), '-', SUBSTR(U.TLNO, 4, 4), '-', SUBSTR(U.TLNO, 8, 4)) AS TLNO
FROM USED_GOODS_USER U
INNER JOIN (
SELECT WRITER_ID, COUNT(*) AS CNT_USER
FROM USED_GOODS_BOARD
GROUP BY WRITER_ID
HAVING COUNT(*) >= 3) B
ON U.USER_ID = B.WRITER_ID
ORDER BY U.USER_ID DESC;
CONCAT(SUBSTR(U.TLNO, 1, 3), '-', SUBSTR(U.TLNO, 4, 4), '-', SUBSTR(U.TLNO, 8, 4))
→010 → 0000 → xxxxCONCAT(컬럼1, ' ', 컬럼2, ' ', 컬럼3)
처럼 문자(컬럼) 사이에 ‘ ‘ 공백 표시를 넣어줘야 한다.
또는
: CONCAT_WS(' ', ADDRESS, STREET_ADDRESS1, STREET_ADDRESS2)
CONCAT_WS 함수 이용. (MySQL 8 이상만 가능)<aside> 💡
Pandas(Python Data Analysis Library)란? : 파이썬에서 데이터 조작과 분석을 위한 가장 핵심적인 라이브러리 (구글에서 다양한 라이브러리를 제공하고 있다. )
</aside>