sql 17

[세무민의 코딩일기] 프로그래머스 : 헤비 유저가 소유한 장소 문제 풀이

오늘 포스팅 할 내용은 2021년도 Dev-Matching: 웹 백앤드 개발자 문제에 나온 헤비 유저가 소유한 장소 문제를 풀어봤습니다. 1. 문제 설명 2. 문제 및 예시 3. 문제 풀이 이번 문제는 말 그대로 HOST_ID가 2개 이상인 경우를 헤비 유저고 부른다. 따라서 HOST_ID가 1개 이상인 경우를 조회하면 된다. SELECT ID, NAME, HOST_ID FROM PLACES WHERE HOST_ID IN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(1) > 1 ); 위의 코드처럼 작성하여 1개 이상의 HOST_ID를 가진 값을 출력해줬다. 4. 결과 자세한 코드는 아래의 github에 업로드해놨습니다! GitHub - sg-m..

[세무민의 코딩일기] 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

[세무민의 코딩일기] SQL 내장함수에 대해서 알아보자 1탄!(길이, 진법변환, 문자열 반환 등)

오늘 다뤄볼 포스팅은 SQL 내장함수에 대해서 다뤄볼 것입니다. 내장함수가 워낙 많아서 나눠서 포스팅 할 예정입니다. 1. 아스키 코드 함수[ASCII] SELECT ASCII('AB') AS 'AB' , (ASCII('A') + ASCII('B')) AS 'A + B'; 아스키 코드는 위와 같이 사용할 수 있습니다. 위의 코드를 돌리면 위의 그림과 같이 나오며 'AB'과 같이 문자열의 경우에는 아스키 코드 함수가 가장 앞에 있는 A를 변환해줍니다, 2. BIT_LENGTH, LENGTH, CHAR_LENGTH SELECT BIT_LENGTH('SG-MOOMOIN') AS '비트 길이' , CHAR_LENGTH('SG-MOOMIN') AS '문자 길이' , LENGTH('SG-MOOMIN') AS '길이..

DB/SQL 2021.07.27

[세무민의 코딩일기] DATE -> INT 변환과 쿼리에서 SET으로 날짜 변수 선언하기(형 변환)

이번 포스팅에서 다뤄볼 내용은 SET입니다. 단순히 SET만 사용할 것은 아니고 형변환도 같이 다뤄볼 계획입니다. https://sg-moomin.tistory.com/entry/%EC%84%B8%EB%AC%B4%EB%AF%BC%EC%9D%98-%EC%BD%94%EB%94%A9%EC%9D%BC%EA%B8%B0-%EC%83%88%EB%A1%9C-%EB%A7%8C%EB%93%A4-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%97%90-%EA%B8%B0%EC%A1%B4-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%98-%EA%B0%92%EC%9D%84-insert-%ED%95%98%EB%8A%94-Tip [세무민의 코딩일기] 새로 만들 테이블에 기존 테이블의 값을 insert 하는 ..

DB/SQL 2021.07.26

[세무민의 코딩일기] 쿼리 with rollup 으로 중간 합계 구하는 방법!

이번 포스팅에서 다룰 것은 RollUp이다. ROLLUP을 이용하면 중간 합계나 총합계를 구할 수 있다. 우선 예시와 함께 진행해보겠다. ## 예시에 사용된 테이블 CREATE TABLE TEMP1( NUMBER1 INT, NUMBER2 INT, VARCHARS VARCHAR(30) ); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (22, 31, '사과'); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (13, 11, '파인애플'); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (53, 11, '체리'); INSERT INTO TEMP1 (NUMBE..

DB/SQL 2021.07.24

[세무민의 코딩일기] 쉬우면서 어려운 집계함수에 대해서 알아보자!

최근에 재택근무를 하다보니 시간이 많은건 아니지만 통근시간을 아껴서 이렇게 포스팅을 할 수 있다는 것에 감사할 뿐이다. 오늘 포스팅 할 내용은 집계함수입니다. 집계함수에 종류를 간략하게 표로 나열해보겠습니다. 함수 명 설명 MIN() / MAX() 최소/최대값을 구할 때 사용한다. SUM() 총합을 구할 때 사용한다. AVG() 평균값을 구할 때 사용한다. COUNT() 행의 개수를 구할 때 사용한다. STDDEV() 표준편차를 구할 때 사용한다. VAR_SAMP() 분산을 구할 수 있다. 여기서 STDEV와 VAR_SAMP를 제외하고는 다들 많이 익숙한 함수입니다. 그렇다면 예시를 통해서 한번 보도록 하겠습니다. # 임시 테이블 생성 CREATE TABLE TEMP1( NUMBER1 INT, NUMBE..

DB/SQL 2021.07.22

세무민의 코딩일기 : 프로그래머스(SQL) 최대값 구하기 문제 풀기

프로그래머스 문제를 풀다가 멘붕이 와서..... 멘탈좀 케어하면서 SQL 문제를 풀어본 적이 없어서 포스팅을 생각하면서 한개 풀어봤습니다 ㅎ 오늘의 문제는 최댓값 구하기! 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DA..