본문 바로가기
728x90
320x100

💻 하나씩 차곡차곡/프로그래머스 (SQL)105

[SELECT/LEVEL1] 잔챙이 잡은 수 구하기 (MySQL) MySQLSELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE LENGTH IS NULL (+)SELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE IFNULL(LENGTH, 0) 첨에 위와 같이 잡은 물고기 중 길이가 10cm 이하인 물고기의 수를 출력하는 SQL 문 이라고 해서걍 10센치 조건을 걸었는데 테스트케이스에서 실패하는 케이스가 생겼다. 근데  알고보니 문제와 아래와 같은 조건이 있더라.....문제를 잘 읽자 ㅠㅠ 2024. 10. 17.
[GROUP BY/LEVEL4] 언어별 개발자 분류하기 (MySQL) MySQLSELECT CASE WHEN (SKILL_CODE & (SELECT SUM(CODE) FROM SKILLCODES WHERE CATEGORY LIKE 'FRONT%')) AND SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'PYTHON') THEN 'A' WHEN SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#') THEN 'B' WHEN SKILL_CODE & (SELECT SUM(CODE) FROM SKILLCODES WHERE CATEGORY LIKE 'FRONT%') THEN 'C' ELSE NULL END AS GRADE.. 2024. 10. 16.
[SELECT/LEVEL1] Python 개발자 찾기 (MySQL) MySQLSELECT ID , EMAIL , FIRST_NAME , LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python' ORDER BY ID 2024. 10. 16.
[String, Date/LEVEL4] 취소되지 않은 진료 예약 조회하기 (MySQL/Oracle) MySQLSELECT A.APNT_NO , C.PT_NAME , C.PT_NO , A.MCDP_CD , B.DR_NAME , A.APNT_YMDFROM APPOINTMENT A, DOCTOR B, PATIENT CWHERE A.MDDR_ID = B.DR_IDAND A.PT_NO = C.PT_NOAND A.APNT_YMD LIKE '2022-04-13%'AND A.MCDP_CD = 'CS'AND APNT_CNCL_YN = 'N'ORDER BY A.APNT_YMD  OracleSELECT B.APNT_NO , A.PT_NAME , A.PT_NO , B.MCDP_CD , C.DR_NAME , B.APNT_.. 2023. 6. 30.
[String, Date/LEVEL4] 자동차 대여 기록 별 대여 금액 구하기 (MySQL/Oracle) MySQLSELECT HISTORY_ID, ROUND(DAILY_FEE * (DATEDIFF(B.END_DATE, B.START_DATE) + 1) * (CASE WHEN DATEDIFF(END_DATE,START_DATE)+1   OracleWITH HIST AS (SELECT B.HISTORY_ID AS HISTORY_ID , A.CAR_ID AS CAR_ID , A.CAR_TYPE AS CAR_TYPE , A.DAILY_FEE AS DAILY_FEE , B.DURATION AS DURATION , CASE WHEN B.DURATION -- 임시 테이블 쓰지 않고 최대한 해보려다가 결국 임시테이블 사용하였고, 다른 분의 답안을 참고하였다. 나중.. 2023. 6. 29.
[String, Date/LEVEL3] 대여 기록이 존재하는 자동차 리스트 구하기 (MySQL/Oracle) MySQLSELECTDISTINCT A.CAR_IDFROM CAR_RENTAL_COMPANY_CAR A, CAR_RENTAL_COMPANY_RENTAL_HISTORY BWHERE A.CAR_ID = B.CAR_IDAND A.CAR_TYPE = '세단'AND YEAR(B.START_DATE) = 2022AND MONTH(B.START_DATE) = 10ORDER BY A.CAR_ID DESC  OracleSELECTDISTINCT A.CAR_IDFROM CAR_RENTAL_COMPANY_CAR A, CAR_RENTAL_COMPANY_RENTAL_HISTORY BWHERE A.CAR_ID = B.CAR_IDAND A.CAR_TYPE = '세단'AND TO_CHAR(B.START_DATE, 'YYYY-MM').. 2023. 6. 28.
728x90
320x100