[mysql/oracle] 조건에 맞는 사용자 정보 조회하기

2023. 9. 25. 22:04Programmers/SQL

문제 설명

 

문제

 

결과

 

mysql

문자열 붙이는 함수

  • CONCAT(str1, str2, [str3, str4...])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT B.USER_ID
     , B.NICKNAME
     , CONCAT(B.CITY,' ',B.STREET_ADDRESS1,' ',B.STREET_ADDRESS2) AS 전체주소
     , CONCAT(SUBSTRING(TLNO, 1,3), CONCAT('-', CONCAT(SUBSTRING(TLNO,4,4), CONCAT('-', SUBSTRING(TLNO, 84))))) AS 전화번호
FROM USED_GOODS_BOARD A, USED_GOODS_USER B
WHERE A.WRITER_ID = B.USER_ID
GROUP BY B.USER_ID
       , B.NICKNAME
       , B.CITY
       , B.STREET_ADDRESS1
       , B.STREET_ADDRESS2
       , B.TLNO
HAVING COUNT(A.WRITER_ID) >=3
ORDER BY USER_ID DESC
cs

 

oracle

문자열 붙이는 방법

  • CONCAT(str1, str2) or CONCAT(str1, CONTCAT(str2, str3))
  • ||
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT B.USER_ID
     , B.NICKNAME
     , CONCAT(B.CITY,' ',B.STREET_ADDRESS1,' ',B.STREET_ADDRESS2) AS 전체주소
     , CONCAT(SUBSTRING(TLNO, 1,3), CONCAT('-', CONCAT(SUBSTRING(TLNO,4,4), CONCAT('-', SUBSTRING(TLNO, 84))))) AS 전화번호
FROM USED_GOODS_BOARD A, USED_GOODS_USER B
WHERE A.WRITER_ID = B.USER_ID
GROUP BY B.USER_ID
       , B.NICKNAME
       , B.CITY
       , B.STREET_ADDRESS1
       , B.STREET_ADDRESS2
       , B.TLNO
HAVING COUNT(A.WRITER_ID) >=3
ORDER BY USER_ID DESC
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
SELECT B.USER_ID, B.NICKNAME
     , B.CITY||' '||B.STREET_ADDRESS1 ||' '||B.STREET_ADDRESS2 AS 전체주소
     , SUBSTR(TLNO, 1,3)||'-'||SUBSTR(TLNO,4,4)||'-'||SUBSTR(TLNO,8,4) AS 전화번호
FROM USED_GOODS_BOARD A, USED_GOODS_USER B
WHERE A.WRITER_ID = B.USER_ID
GROUP BY B.USER_ID
       , B.NICKNAME
       , B.CITY
       , B.STREET_ADDRESS1
       , B.STREET_ADDRESS2, B.TLNO
HAVING COUNT(A.WRITER_ID) >=3
ORDER BY USER_ID DESC
cs