[Oracle/sql] 프로그래머스 sql문제 정리
2021. 8. 4. 14:45
1. SELECT
count(*) = 집계 count(컬럼명) ROWNUM ROWNUM() over( 정렬 ) |
2. ORDER BY
ORDER BY (컬럼명) (ASC -오름차순 기본) ORDER BY (컬럼명) DESC - 내림차순 ORDER BY NAME, DATETIME DESC - 여러개 정렬 |
3. GROUP BY
SELECT [GROUP BY 절에 지정된 컬럼1] [GROUP BY별로 집계할 값] FROM [테이블 명] GROUP BY [ 그룹으로 묶을 컬럼 값 ] HAVING [조건 추가] ; |
4. WHERE
WHERE (컬럼명) = '문자' WHERE (컬럼명) = 숫자 1) 비교연산자 사용 = , >= , <= , < , > 2) 논리연산자 NOT, AND, OR 사용 3)IN , NOT IN연산자의 사용 - 여러 값을 OR 관계로 묶어 나열하는 조건을 WHERE 절에 사용할 때 씀 WHERE NAME IN('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') WHERE NAME NOT IN('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') 4) (컬럼명) Like ('%문자열') or ('문자열%') or ('%문자열%') 5) UPPER() 와 LOWER() WHERE UPPER(컬럼명) = 'APPLE' 6) case when else end 문 CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' THEN 'O' WHEN SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS 중성화 |
4) BETWEEN A AND B
5. SUM , MAX, MIN
SELECT MIN(컬럼명) SELECT MAX(컬럼명) |
6. IS NULL, IS NOT NULL, DISTINICT, NVL
사용법: (컬럼명) IS NULL / (컬럼명) IS NOT NULL 함수명(컬럼명,다른 컬럼 혹은 값) |
7. 변환형 함수
TO_CHAR : 숫자나 날짜를 문자열로 변환
TO_NUMBER : 문자를 숫자로 변환
TO_DATE : 문자를 날짜로 변환
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD'), --현재날짜 / TO_CHAR(SYSDATE, 'YYYY-MM-DD'), --현재날짜 - TO_CHAR(SYSDATE, 'YYYY'), --현재년도 TO_CHAR(SYSDATE, 'MM'), --현재 월 TO_CHAR(SYSDATE, 'DD'), --현재 일 TO_CHAR(SYSDATE, 'DAY'), --현재 요일 TO_CHAR(SYSDATE, 'HH24:MI:SS'), --현재시간 포맷 (24시간) TO_CHAR(SYSDATE, 'HH:MI:SS') --현재시간 포맷 (12시간) FROM DUAL |
level connect by
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL<24
join
없어도 나와야대는곳에 (+) 하면 아우터조인
DATETIME끼리 연산가능
UNION =합집합
INTERSECT =교집합
MINUS = 차집합
'CS > Database' 카테고리의 다른 글
[Database] 관계형 데이터베이스의 이상 현상과 정규화 (0) | 2021.12.17 |
---|---|
[Database] 트랜잭션과 ACID & 트랜잭션 격리 수준과 데드락 (0) | 2021.12.17 |
[Database] Database, DBMS, RDB, NoSQL (0) | 2021.12.15 |
[DB/Oracle] 02. 의사컬럼 (0) | 2021.08.28 |
[DB/Oracle] 01. SELECT문 (0) | 2021.08.28 |