inblog logo
|
stupefyee
    SQL문제풀기

    [SQL 문제 풀이] 조건에 맞는 사용자 정보 조회하기

    프로그래머스 (164670)
    Stupefyee's avatar
    Stupefyee
    Apr 08, 2025
    [SQL 문제 풀이] 조건에 맞는 사용자 정보 조회하기
    Contents
    내가 작성한 쿼리
    notion image
    notion image
     

    내가 작성한 쿼리

    Oracle

    SELECT USER_ID, NICKNAME, CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2 전체주소, SUBSTR(TLNO, 1, 3) || '-' || SUBSTR(TLNO, 4, 4) || '-' || SUBSTR(TLNO, 8) 전화번호 FROM USED_GOODS_BOARD UGB JOIN USED_GOODS_USER UGU ON WRITER_ID = USER_ID GROUP BY USER_ID, NICKNAME, CITY, STREET_ADDRESS1, STREET_ADDRESS2, TLNO HAVING COUNT(WRITER_ID) >= 3 ORDER BY UGU.USER_ID DESC;

    MySQL

    SELECT USER_ID, NICKNAME, CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) 전체주소, INSERT(INSERT(TLNO, 8, 0, '-'), 4, 0, '-') 전화번호 FROM USED_GOODS_BOARD UGB JOIN USED_GOODS_USER UGU ON WRITER_ID = USER_ID GROUP BY WRITER_ID HAVING COUNT(WRITER_ID) >= 3 ORDER BY USER_ID DESC;

    차이점

    • 문자열 결합 방식의 차이
    • 전화번호 형식 변환의 차이
      • Oracle에 INSERT() 없음 → Oracle 방식을 MySQL에선 사용 가능
    • 그룹화 방식의 차이
      • Oracle: ANSI SQL 표준을 엄격히 준수
      • MySQL: ANSI SQL 표준을 엄격히 준수하지 않음
        • ANSI SQL 표준
          • 모든 DBMS가 같은 SQL 문법과 동작을 하도록 만든 약속
     
    Share article
    Contents
    내가 작성한 쿼리

    stupefyee

    RSS·Powered by Inblog