문자연결 CONCAT()
select concat('ABC','DEF');
문자열 자르기 LEFT(문자열, 인덱스), RIGHT( 문자열, 인덱스 ), SUBSTR( 문자열, 시작 인덱스, 끝 인덱스 )
SELECT LEFT("ABCDEF",3);
SELECT SUBSTR('ABCDEFGH',3,2);
3부터 시작해서 2개가 문자를 나눈다.
문자 채우기 LPAD("문자열",채울개수,채울문자),RPAD()
SELECT LPAD("A",10,'#');
문자열을 찾기
SELECT FIELD('JAVA', 'SQL', 'JAVA', 'C')
,FIND_IN_SET('JAVA', 'SQL,JAVA,C')
,INSTR('네 인생을 살아라', '인생')
,LOCATE('인생', '네 인생을 살아라');
찾고자 하는 문자의 위치를 반환한다.
문자열 반복
SELECT REPEAT('*', 5);
숫자 올림, 낼림, 반올림
SELECT CEILING(123.56)
,FLOOR(123.56)
,ROUND(123.56)
,ROUND(123.56, 1)
,TRUNCATE(123.56, 1);
CEILING = 올림
FLOOR=내림
ROUND=반올림
ROUND(123.56, 1): ROUND 함수의 두 번째 매개변수를 사용하여 반올림할 소수점 자릿수를 지정할 수 있습니다.
TRUNCATE(123.56, 1): TRUNCATE 함수는 주어진 숫자의 소수점 이하를 지정된 자릿수까지 잘라내어 반환합니다.
날짜 시간 반환 함수
SELECT NOW(),
sysdate(),
curdate(),
curtime();
NOW, sysdate=> 현재 날짜와 시간
curdate => 현재 날짜
curtime => 현재 시간
형변환 함수 CAST(값, AS데이터타입)
select cast('1'AS UNSIGNED),
cast(2 AS CHAR(1));
첫 번째 거는 문자를 숫자로 두 번째 거는 숫자를 문자로 변환한다.
조건문
IF(조건, 수식 1, 수식 2)
조건이 참이면 수식 1을 거짓이면 수식 2가 출력된다.
IFNULL(수식 1, 수식 2) 수식 1을 반환 NULL이면 수식 2 반환
NULLIF(수식 1, 수식 2)두식값을 비교하여 같으면 NULL 아니면 수식 1의 값을 반환한다.
CASE문
WHEN 조건 THEN 값
ELSE 값
END
select CASE when 12500*450>500000 then'초과달성'
WHEN 2500*450>40000 THEN '달성'
else '미달성'
END;
집계합수
SELECT 집계함수
FROM 테이블명
WHERE 절
COUNT(칼럼명) 개수 조회하기
SELECT COUNT(*),count(고객번호)
FROM 고객;
SELECT SUM(마일리지),AVG(마일리지),MIN(마일리지),MAX(마일리지)
FROM 고객;
GROUP BY 그룹별로 묶어서 요약할 때 사용
GROUP BY 할 칼럼 명하고 묶을 컬러명 하고 같아한다
SELECT 도시,
COUNT(*) AS 고객수,
AVG(마일리지) AS 평균마일리지
FROM 고객
group by 도시;
도시별로 묶이게 된다.
select 담당자직위,도시,count(*) AS 고객수,AVG(마일리지) AS 평균마일리지
FROM 고객
group by 1,2
order by 1,2;
위의 코드는 담당자직위로 묶고 난 후 도시별로 묶어서 ORDER BY 담당자 직위와 도시순으로 정렬을 실행한 것이다.
GROUP BY로 묶은 거에 대해서 조건을 추가하기 위해서는 HAVING를 이용해야 한다
SELECT 도시
,COUNT(*) AS 고객수
,AVG(마일리지) AS 평균마일리지
FROM 고객
GROUP BY 도시
HAVING COUNT(*) >= 10;
여러 도시가 있었지만 고객수가 10 이상인 도시만 출력하게 된다.
WITH ROLLUP 마지막에 이걸 추가하면
위와 같이 총결과를 볼 수 있다.
'DB(SQL)' 카테고리의 다른 글
sql 서브 쿼리,인라인 뷰,CTE (0) | 2024.05.06 |
---|---|
SQL JOIN 사용법 (0) | 2024.04.28 |
SQL 조회 SELECT 사용법 (0) | 2024.04.25 |
MYSQL 데이터 베이스 생성 과 테이블 만들기 (0) | 2024.04.21 |