개발/SQL 42

프로그래머스SQL_자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

■ 사용 문법 GROUP BY, REGEXP  ■ 사용 방법OPTIONS에 복수개의 조건들이 있다. 문자열에 특정 문자를 포함여부를 확인하려면 여러가지 방법이 있는데 나는 REGEXP를 사용하였다. 사용시 |로 복수개 조건 설정이 가능하다. LIKE를 사용할 수 있지만 그럴 경우 코드의 비효율이 발생한다. (  ex. OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%'  ) ■ 코드SELECT CAR_TYPE, COUNT(*) AS CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS REGEXP '통풍시트|열선시트|가죽시트'GROUP BY CAR_TYPEORDER BY CAR_TYPE ASC

개발/SQL 2024.04.25

프로그래머스SQL_조건에 부합하는 중고거래 댓글 조회하기

■ 사용 문법 INNER JOIN(ON 조건) ■ 사용 방법 내부조인을 이용해 문제를 해결하였다. ON 절을 이용해 기본키와 외래키로 사용된 칼럼을 설정한다. ■ 코드 -- 코드를 입력하세요 SELECT TITLE, BOARD.BOARD_ID, REPLY_ID, REPLY.WRITER_ID, REPLY.CONTENTS, DATE_FORMAT(REPLY.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE FROM USED_GOODS_BOARD AS BOARD INNER JOIN USED_GOODS_REPLY AS REPLY ON BOARD.BOARD_ID = REPLY.BOARD_ID WHERE BOARD.CREATED_DATE BETWEEN date ('2022-10-01') AN..

개발/SQL 2024.04.19

프로그래머스SQL_오프라인/온라인 판매 데이터 통합하기

■ 사용 문법 UNION, NULL AS 칼럼 A ■ 사용 방법 두 개의 테이블을 열로 합치는 문제이다. 순간 join을 생각했지만 중복된 칼럼이 있는게 아니라 테이블의 값이 개별적으로 존재 할 것 같아서 열로 합치는 UNION을 생각했다. UNION은 칼럼이 똑같아야 합칠 수 있다. 그래서 offline에는 존재하지 않는 USER_ID를 NULL 값으로 채워줘서 만들어줘야 한다. 이 때 NULL AS USER_ID를 사용한다. ■ 코드 (SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE, PRODUCT_ID,USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE SALES_DATE BETWEEN date('2022.03.01')..

개발/SQL 2024.04.18

프로그래머스SQL_ 12세 이하인 여자 환자 목록 출력하기

■ 사용 문법 IFNULL(A, B) ■ 사용 방법 TLNO의 칼럼에 있는 값들 중에 공백을 NONE으로 바꾸어준다. 그리고 처음에 계속 틀렸는데, 문제를 자세히 보니 여자환자였다. 문제를 속에 답이 있다는 것을 또 한 번 느꼈다. ■ 코드 -- 코드를 입력하세요 SELECT PT_NAME, PT_NO,GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT WHERE AGE

개발/SQL 2024.04.18