언어/SQL 29

시간/날짜 함수 (MYSQL)

현재 날짜 반환 CURRENT_DATE, CURDATE 현재 날짜 반환 CURRENT_TIME, CURTIME 현재 시간 반환 CURRENT_TIMESTAMP, NOW 현재 시간과 날짜 반환 SELECT CURDATE(), CURTIME(), NOW(); 문자열에 따라 날짜 / 시간 생성 DATE 문자열에 따라 날짜 생성 TIME 문자열에 따라 시간 생성 SELECT '2021-6-1' = '2021-06-01', DATE('2021-6-1') = DATE('2021-06-01'), '1:2:3' = '01:02:03', TIME('1:2:3') = TIME('01:02:03'); SELECT '2021-6-1 1:2:3' = '2021-06-01 01:02:03', DATE('2021-6-1 1:2:3..

언어/SQL 2022.06.13

문자형 함수

대문자 / 소문자 변환 UCASE, UPPER 모두 대문자로 LCASE, LOWER 모두 소문자로 SELECT UPPER('abcDEF'), LOWER('abcDEF'); SELECT UCASE(CustomerName), LCASE(ContactName) FROM Customers; 내용 이어 붙이기 ( CONCAT ) CONCAT(...) 괄호 안의 내용 이어붙임 CONCAT_WS(S, ...) 괄호 안의 내용 S로 이어붙임 SELECT CONCAT('HELLO', ' ', 'THIS IS ', 2021) SELECT CONCAT_WS('-', 2021, 8, 15, 'AM') SELECT CONCAT('O-ID: ', OrderID) FROM Orders; 글자 자르기 SUBSTR, SUBSTRING..

언어/SQL 2022.06.13

숫자형 함수

올림/반올림/내림 ROUND 반올림 CEIL 올림 FLOOR 내림 SELECT ROUND(0.5), CEIL(0.4), FLOOR(0.6); SELECT Price, ROUND(price), CEIL(price), FLOOR(price) FROM Products; 절대값 ( ABS ) ABS 절대값 SELECT ABS(1), ABS(-1), ABS(3 - 10); SELECT * FROM OrderDetails WHERE ABS(Quantity - 10) < 5; 최소/최대 값 GREATEST (괄호 안에서) 가장 큰 값 LEAST (괄호 안에서) 가장 작은 값 SELECT GREATEST(1, 2, 3), LEAST(1, 2, 3, 4, 5); SELECT OrderDetailID, ProductID,..

언어/SQL 2022.06.13

LIKE 연산자

LIKE 문자열 패턴 검색 패턴에는 ( % ) 와 ( _ )가 사용 ( % )는 '모든 문자'라는 의미 | ( _ )는 '한 글자'라는 의미 % : 여러 개의 문자열을 나타내는 와일드 카드 _ : 단 하나의 문자를 나타내는 와일드 카드 ESCAPE : 와일드 카드 문자를 일반문자 처럼 사용하고 싶은 경우에 사용. ex) WHERE name LIKE '%a\_y%' ESCAPE '\' LIKE 연산자는 대소문자를 구분 한다. UPPER() 함수를 이용해 대소문자 구분없이 출력 할 수 있다.(인덱스 성능문제 발생, 함수기반 인덱스 사용..) 참/거짓으로 반환 LIKE 'A%' 'A'로 시작하는 데이터만 검색 LIKE '%A' 'A'로 끝나는 테이터들만 검색 LIKE '%KIM%' 'KIM' 문자가 있는 데이..

언어/SQL 2022.06.13

BETWEEN 연산자

BETWEEN 참/거짓으로 반환 AND를 이용해 두 조건을 결합한 검색과 같은 결과값을 보여 준다. BETWEEN {MIN} AND {MAX} 두 값 사이에 있음 NOT BETWEEN {MIN} AND {MAX} 두 값 사이가 아닌 곳에 있음 💊 급여가 3000에서 5000사이인 사원만 조회 SELECT empno, ename FROM emp WHERE sal BETWEEN 3000 AND 5000; EMPNO ENAME ------- ------ 7788 SCOTT 7839 KING 7902 FORD SELECT 5 BETWEEN 1 AND 10; SELECT 'banana' NOT BETWEEN 'Apple' AND 'camera'; ⚠️ A와 C사이 SELECT * FROM Customers WHE..

언어/SQL 2022.06.13

IN, NOT IN 연산자

IN / NOT IN 연산자 값이 포함되는 혹은 포함되지 않는 데이터를 추출하고 싶을 때 사용하는 것 IN (...) 괄호 안의 값들 가운데 있음 NOT IN (...) 괄호 안의 값들 가운데 없음 🎓 IN SELECT * FROM TABLE WHERE COLUMN IN ('A' , 'B') 🎓 NOT IN SELECT * FROM TABLE WHERE COLUMN NOT IN ('A' , 'B') 😎 IN문은 'A'와 'B' 가 포함되는 데이터만 추출되고, NOT IN 문은 'A'와 'B' 가 포함되지 않는 데이터만 추출이 됩니다. 🎓 SUBQUERY IN SELECT * FROM TABLE WHERE COLUMN IN (SELECT COLUMN1 FROM TABLE2) 🎓 SUBQUERY NOT IN..

언어/SQL 2022.06.13

GROUP BY / HAVING / DISTINCT / WITH ROLLUP

GROUP BY GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다. GROUP BY는 데이터를 그룹별로 나눠 합계, 평균등의 연산을 할 경우 사용된다. SELECT 문에 지정된 SUM, AVG, COUNT, MAX, MIN 등의 연산 함수들에 따라 합계, 평균, 레코드수, 최대값, 최소값 등을 구하게 된다. ✔️ WHERE는 그룹화 하기 전이고, HAVING은 그룹화 후에 조건 💊 집계 함수와 상수가 함께 SELECT 절에 사용 -- 부서별 사원수 조회 SELECT '2005년' year, deptno 부서번호, COUNT(*) 사원수 FROM emp GROUP BY deptno ORDER BY COUNT(*) DESC; YEAR 부서번호 사원수 ------ ---------- -------..

언어/SQL 2022.06.13