Contents
내가 작성한 쿼리

내가 작성한 쿼리
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