DB 21

[세무민의 코딩일기] mysql에서 Procedure 사용하기

이번 포스팅에서는 Mysql에서 사용하는 프로시저라는 것에 대해 알아보도록 하겠습니다. 스토어드 프로시저 우선 Mysql에서는 스토어드 프로시저라고 합니다. "쿼리문의 집합이자 동작을 일괄로 처리할 수 있도록 사용된다." 스토어드 프로시저란 Mysql 내부에서 프로그래밍이 가능하도록 제공해주는 것이라고 생각하면 된다. 즉 일반 쿼리를 모듈화하여 호출하는 방식으로 이용하며 이는 편리성을 제공해줍니다. 프로시저의 장점 및 단점 [장점] 1. 다양한 쿼리를 모듈화 가능 -> 1개의 프로시저로 N개의 쿼리를 수행 가능하다. 2. 처리 시간이 단축된다 -> 구문 분석과 코드 변환에 필요한 시간들을 미리 하기 때문이다. 3. SQL 문장과 호스팅 언어의 분리로 인하여 프로시저 보수가 편리함 [단점] 1. 재사용성이..

DB/SQL 2022.02.03

[세무민의 코딩일기] mysql로 Union 사용하기

이번 포스팅에서 다뤄볼 내용은 DB에서 쿼리 조합할때 자주 사용하는 Union에 대해서 다뤄보겠습니다. UNION Union이란 2개의 쿼리 결과를 행으로 합치는 것을 말합니다. 위의 그림처럼 2개의 조회 결과를 한개의 행으로 결과를 합치는 것을 말합니다. SELECT A 구문 UNION SELECT B 구문 Ex) select title, contents from noticeboard union select title, urlroot from myService; 쿼리대로 조회한 결과가 위의 그림입니다. UNION 조건 UNION을 사용할 때 조건이 존재하는데 조회하는 문장의 열의 개수와 데이터의 형식이 같아야 조회가 가능합니다. UNION ALL UNION과 UNION ALL의 차이는 중복값의 차이이다..

DB/SQL 2021.12.21

[세무민의 코딩일기] mysql에서 json 이용하기

이번 포스팅에서는 mysql에서 json을 이용해보도록 하겠습니다. # json 변수 생성 set @json='{"sgmoomin" : [ {"name":"Saves", "avg":70}, {"name":"Checks", "avg":75}, {"name":"tests", "avg":80}, {"name":"Delts", "avg":88}, {"name":"Alrets", "avg":66}, {"name":"Nums", "avg":90} ] }'; # json 아닌 경우 변수 생성 set @noJson = 70; 먼저 위의 코드처럼 임시로 테스트 json을 만들어 주겠습니다. 위의 임시로 만들어준 변수를 조회하면 json 형태로 나오게 됩니다. # json_valid | json_search | json_..

DB/SQL 2021.08.23

[세무민의 코딩일기] mysql에서 피벗 구현하기!

오늘 포스팅은 pivot에 관련된 내용을 다뤄볼 생각입니다. pivot을 이용하는 건 예전에 오라클에서 달력 만들었던 포스팅에서도 다뤘습니다. https://sg-moomin.tistory.com/entry/Oracle-DB%EB%A1%9C-%EB%8B%AC%EB%A0%A5-%EB%A7%8C%EB%93%A4%EA%B8%B0 Oracle DB로 달력 만들기! 오늘 과장님께서 주신 과제가 있어서 과제를 푸는데 과제 내용은 쿼리로 달력을 만드는것! 그래서 내가 구현한 방법은 총 3가지였다! #1 Case 문을 이용하는 방법! select min(case when WEEKDAY = 1 then DDAY sg-moomin.tistory.com 해당 포스팅은 위에 링크를 따라가면 확인할 수 있습니다. 오라클에서는 ..

DB/SQL 2021.08.02

[세무민의 코딩일기] 쿼리에서 자주 사용하는 MOD, POW 등 숫자 함수에 대해서 알아보기

이번 포스팅에서는 쿼리 내장함수 중 숫자 함수에 관련하여 포스팅해보겠습니다. 1. ABS SELECT ABS(-100) AS '음수 값', ABS(-10.00) AS '소수 값' FROM DUAL; - ABS란 숫자의 절댓값을 계산해주는 함수입니다. 2. CEILING, FLOOR, ROUND SELECT CEILING(3.3) AS '올림', FLOOR(3.3) AS '내림', ROUND(3.3) AS '반올림' FROM DUAL; - CEILING은 숫자를 올림하고 FLOOR는 숫자를 내림, ROUND는 숫자를 반올림하는 함수입니다. 3. CONV SELECT CONV('AE', 16, 8) FROM DUAL; - CONV는 진수 변환을 할 떄 사용하는 함수입니다. - CONV의 경우 원래 진수에서 ..

DB/SQL 2021.07.29