본문 바로가기
728x90
반응형

MySQL13

[MySQL] Stored Procedure 반복문 - WHILE / REPEAT / LOOP prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EC%A1%B0%EA%B1%B4%EB%AC%B8-IF-ELSEIF-CASE [MySQL] Stored Procedure의 조건문 IF ELSEIF / CASE prinha.tistory.com/entry/MySQL-%EC%A0%80%EC%9E%A5-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80%EC%9D%98-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-IN-OUT-INOUT [MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT pr.. prinha.tistory.com WHILE 표현식값이 true면 표현식의 값이 false가 될 때까지 실행 .. 2021. 1. 8.
[MySQL] Stored Procedure의 조건문 IF ELSEIF / CASE prinha.tistory.com/entry/MySQL-%EC%A0%80%EC%9E%A5-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80%EC%9D%98-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-IN-OUT-INOUT [MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EB%B3%80%EC%88%98 [MySQL] Stored Procedure의 변수 prinha.tistory.com/entry/MySQL-%EC%8A%A4%ED%86%A0%EC%96%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%.. prinha.tistory... 2021. 1. 8.
[MySQL] WITH ROLLUP - 항목별 합계에 대한 전체 합계 구하기 WITH ROLLUP 그룹별로 합계를 한 번에 구할 때 사용한다. GROUP BY를 사용하면 GROUP BY 뒤에 나오는 컬럼별로 합계를 구해주는데, 항목별 합계에 전체 합계가 같이 나오게 하는 것이 WITH ROLLUP이다. 1) WITH ROLLUP 기본 예제 SELECT SUBSTRING(address, 1, 2) as region, gender, COUNT(*) FROM copang_main.member GROUP BY region, gender WITH ROLLUP ORDER BY region ASC, gender DESC; 2) HAVING 컬럼 IS NOT NULL SELECT SUBSTRING(address, 1, 2) as region, gender, COUNT(*) FROM copang.. 2020. 12. 21.
[MySQL] GROUP BY - 그룹핑 / HAVING 1. GROUP BY 컬럼 SELECT 절에는 1) GROUP BY 뒤에서 사용한 컬럼들 또는 2) COUNT, MAX 등과 같은 집계 함수만 올 수 있다. 거꾸로 말해 GROUP BY 뒤에 쓰지 않은 컬럼들은 SELECT 뒤에 올 수 없다. SELECT gender, COUNT(*), AVG(height), MIN(weight) FROM copang_main.member GROUP BY gender; 2. 2가지 이상의 컬럼 그룹핑 SELECT SUBSTR(address, 1, 2) AS region, gender, count(*) FROM copang_main.member GROUP BY SUBSTR(address, 1, 2), gender; 3. HAVING - GROUP BY에 대한 조건절 반드시.. 2020. 12. 15.
[MySQL] 문자열 관련 함수 1. LENGTH 문자열의 길이를 구해주는 함수 SELECT length(address) FROM copang_main.member; 2. UPPER / LOWER 문자열을 모두 대문자/소문자로 바꿔서 보여주는 함수 SELECT UPPER(email) FROM copang_main.member; SELECT LOWER(email) FROM copang_main.member; 3. LPAD / RPAD (LEFT or RIGHT + PADDING)의 줄임말로, 문자열의 왼쪽 또는 오른쪽을 특정 문자열로 채워주는 함수 -- LPAD(컬럼, 자리수, 채울 값) SELECT LPAD(age,10,'0') FROM copang_main.member; 4. TRIM / LTRIM / RTRIM 문자열에 존재하는 공.. 2020. 12. 15.
[MySQL] DISTINCT - 중복된 결과를 제거하는 범주 조회 DISTINCT + 컬럼 -- 컬럼 범주 조회 SELECT DISTINCT 컬럼 FROM 테이블; -- 조건 처리 후에 컬럼 범주 조회 SELECT DISTINCT 컬럼 FROM 테이블 WHERE 조건식; -- 컬럼 범주 개수 조회 SELECT COUNT(DISTINCT 컬럼) FROM 테이블; SELECT DISTINCT(gender) FROM copang_main.member; 2020. 12. 15.
[MySQL] CASE - WHEN THEN ELSE - END CASE 조건문 CASE WHEN 조건 THEN '반환 값' WHEN 조건 THEN '반환 값' ELSE 'WHEN 조건에 해당 안되는 경우 반환 값' END SELECT email, CONCAT(height, 'cm',', ',weight, 'kg') AS '키와 몸무게', weight / ((height/100) * (height/100)) AS BMI, (CASE -- 사건, 경우 WHEN weight IS NULL OR height IS NULL THEN '비만 여부 알 수 없음' WHEN weight / ((height/100) * (height/100)) >=25 THEN '과체중 또는 비만' WHEN weight / ((height/100) * (height/100)) >= 18.5 AND .. 2020. 12. 15.
[MySQL] CONCAT-문자열합치기 / ALIAS - 별칭 1) CONCAT(문자열A, 문자열B, ...) 2) AS 별칭 SELECT email, CONCAT(height, 'cm',', ',weight, 'kg') AS '키와 몸무게', weight / ((height/100) * (height/100)) AS BMI FROM copang_main.member; 2020. 12. 15.
[MySQL] NULL을 다른 값으로 변환하는 함수 COALESCE() MS SQL에서 IFNULL(컬럼, 0) 컬럼값이 null이면, 0을 넣는 함수가 있다. MySQL에서는 COALESCE(컬럼, 0)을 이용해서 null이면, 0을 넣는 함수를 사용한다. 1) COALESCE(컬럼,0) SELECT COALESCE(height, '###'), COALESCE(weight, '---'), COALESCE(address, '@@@') FROM copang_main.member; 2) COALESCE(컬럼1, 컬럼2, 0) 컬럼1이 NULL이면 컬럼2값을 넣고, 컬럼2값이 NULL이면 0을 넣는다. SELECT COALESCE(height, weight * 2.3, 'N/A') FROM copang_main.member; IFNULL(컬럼,0) 첫번째 인자.. 2020. 12. 15.
[MySQL] Pagination LIMIT LIMIT A A번째 까지만 출력 SELECT * FROM copang_main.member ORDER BY sign_up_day DESC LIMIT 10; LIMIT A,B A번째에서 B개까지 출력 SELECT * FROM copang_main.member ORDER BY sign_up_day DESC LIMIT 8,2; -- 8 : 9번째를 의미 / 2 : 8에서 두 개 Pagenation 1페이지 : SELECT * FROM db.search_result ~ ORDER BY registration_date DESC LIMIT 0, 10 2페이지 : SELECT * FROM db.search_result ~ ORDER BY registration_date DESC LIMIT 10, 10 3페이지 : .. 2020. 12. 15.
[MySQL] 정렬 - 숫자형/문자열형 구별 1) 숫자형 정렬 select * from copang_main.member order by age asc; -- desc 2) 문자열형 정렬 TEXT타입의 값은 숫자의 대소가 아니라 한 문자씩 그 문자 순서를 비교해서 정렬 변수의 데이터 타입을 바꿀 때 CAST(age AS signed) 함수 사용 / signed = 양수와 음수를 포함한 모든 정수 select * from copang_main.member order by CAST(age AS signed) asc; 2020. 12. 15.
[MySQL] DATE 데이터 타입 추출 1. 연도, 월, 일 추출 1) YEAR SELECT * FROM copang_main.member WHERE YEAR(birthdaty) = '1995'; 2) MONTH SELECT * FROM copang_main.member WHERE MONTH(sign_up_day) IN (7,8,9); 3) DAYOFMONTH SELECT * FROM copang_main.member WHERE DAYOFMONTH(sign_up_day) BETWEEN 15 AND 31; -- 각 달의 후반부 2. 날짜, 시간 추출 1) SYSDATE() - 현재 시스템의 날짜와 시간 동시에 출력 SELECT sysdate() from dual; 2) CURDATE() - 현재 시스템의 날짜만 출력 SELECT curdate(.. 2020. 12. 15.
728x90
반응형