SQL 8

프로그래머스 SQL 고득점 KIT(GROUP BY)

프로그래머스 GROUP BY 4문제를 한 포스팅에 정리합니다. 프로그래머스 (programmers.co.kr) 1. 고양이와 개는 몇 마리 있을까 - GROUP BY로 ANIMAL_TYPE을 묶어주고, ORDER BY로 정렬합니다. SELECT ANIMAL_TYPE, COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; 2. 동명 동물 수 찾기 - GROUP BY로 NAME을 묶어주고, HAVING COUNT(NAME)>=2로 조건을 추가합니다. SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 ORDER BY NA..

SQL 2022.04.17

SQL 기본 문법 정리(5) (GROUP BY, HAVING, 서브쿼리)

1) GROUP BY - GROUP BY 구에 열을 지정하여 그룹화하면 지정된 열의 값이 같은 행이 하나의 그룹으로 묶입니다. SELECT name FROM sample51 GROUP BY name; 1-1) GROUP BY 구와 집계함수 조합 - GROUP BY 구와 집계함수를 조합할 수 있습니다. SELECT name, COUNT(name), SUM(quantity) FROM sample51 GROUP BY name; 1-2) 결과값 정렬 - GROUP BY 구로 그룹화한 경우에도 ORDER BY 구를 사용해 정렬할 수 있습니다. SELECT name, COUNT(name), SUM(quantity) FROM sample51 GROUP By name ORDER BY SUM(quantity) DESC;..

SQL 2022.04.17

SQL 기본 문법 정리(4) (COUNT, DISTINCT, SUM, AVG, MIN, MAX)

1) COUNT - COUNT 함수는 인수로 주어진 집합의 '개수'를 구해 반환합니다. 단, COUNT 함수는 NULL을 무시합니다. SELECT COUNT(*) FROM sample51; 1-1) COUNT의 인수로 열명을 지정 - COUNT의 인수로 열명을 지정할 수 있습니다. SELECT COUNT(no), COUNT(name) FROM sample51; 2) DISTINCT - DISTINCT는 중복된 값을 제거하는 함수입니다. SELECT DISTINCT name FROM sample51; 2-1) COUNT와 DISTINCT - COUNT와 DISTINCT를 결합해서 사용할 수 있습니다. SELECT COUNT(ALL name), COUNT(DISTINCT name) FROM sample51;..

SQL 2022.04.14

SQL 기본 문법 정리(3) (INSERT, DELETE, UPDATE)

1) INSERT - INSERT 명령은 데이터베이스의 테이블에 행을 추가하기 위해서 사용합니다. INSERT INTO 테이블명 VALUES(값1, 값2...); INSERT INTO sample41 VALUES(1, 'ABC', '2014-01-25'); 2) NOT NULL 제약 - NOT NULL 제약이 걸려 있는 열은 NULL값을 허용하지 않습니다. 3) DELETE - DELETE 명령은 데이터베이스의 테이블에서 행을 삭제하기 위해서 사용합니다. DELETE FROM 테이블명 WHERE 조건식 DELETE FROM sample41 WHERE no=3; 4) UPDATE - UPDATE 명령은 테이블의 셀에 저장되어 있는 값을 갱신하려면 사용합니다. UPDATE 테이블명 SET 열1=값1, 열2=..

SQL 2022.04.14

SQL 기본 문법 정리(2) (ORDER BY, LIMIT, 문자열 연산, 날짜 연산, CASE문)

1) ORDER BY - ORDER BY구를 사용하면 정해진 순서로 결과값을 얻을 수 있습니다. SELECT 열명 FROM 테이블명 ORDER BY 열명 1-1) ORDER BY DESC로 내림차순으로 정렬하기 - 열명 뒤에 DESC를 붙이면 내림차순으로 정렬할 수 있습니다. SELECT 열명 FROM 테이블명 ORDER BY 열명 DESC 1-2) 복수열로 정렬 지정 - ORDER BY 구에는 복수로 열을 지정할 수 있습니다. SELECT * FROM sample32 ORDER BY a,b; SELECT * FROM sample32 ORDER BY a ASC, b DESC; 2) LIMIT 구 - LIMIT 구는 SELECT 명령의 마지막에 지정하는 것으로 WHERE 구나 ORDER BY 구의 뒤에 지..

SQL 2022.04.13

SQL 기본 문법 정리(1) (SELECT, DESC, AND, OR, LIKE)

1) SELECT - SELECT 명령은 데이터베이스의 데이터를 읽어올 수 있습니다. - 애스터리스크(*)는 '모든 열'을 의미하는 메타문자입니다. SELECT * FROM 테이블명 2) DESC - DESC 명령은 테이블 구조를 참조하는 명령입니다. DESC 테이블명; 3) 자료형 - 자료형에는 INTEGER형, CHAR형, VARCHAR형, DATE형, TIME형 등이 있습니다. 4) SELECT와 WHERE구 - SELECT 구에서 열을 지정한 후, WHERE 구에서 행을 지정할 수 있습니다. SELECT 열1, 열2 FROM 테이블명 WHERE 조건식 5) NULL 검색 - NULL 값을 검색할 때는 = 연산자가 아닌 'IS NULL'을 사용합니다. SELECT * FROM sample21 WHE..

SQL 2022.04.12

프로그래머스 SQL 고득점 KIT(SUM, MAX, MIN)

프로그래머스 SUM, MAX, MIN 4문제를 한 포스팅에 정리합니다. 프로그래머스 (programmers.co.kr) 1. 최댓값 구하기 방법 1 - DATETIME으로 시간을 조회합니다. - ORDER BY DATETIME DESC으로 시간 역순으로 정렬합니다. - LIMIT 1으로 값을 하나만 선택합니다. 방법 2 - MAX(DATETIME)으로 DATETIME 중 가장 큰 값을 선택합니다. - 해당 칼럼에 AS 시간이라는 별칭을 붙여줍니다. SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS; 2. 최솟값 구하기 방법 1 - DATETIME으로 시간을 조회합니..

SQL 2022.04.12

프로그래머스 SQL 고득점 KIT(SELECT)

프로그래머스 SELECT 7문제를 한 포스팅에 정리합니다. 프로그래머스 (programmers.co.kr) 1. 모든 레코드 조회하기 - *로 모든 칼럼을 조회합니다. - ORDER BY로 ANIMAL_ID순으로 조회합니다. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 2. 역순 정렬하기 - NAME, DATETIME 칼럼을 조회합니다. - ORDER BY와 DESC로 ANIMAL_ID 역순으로 조회합니다. SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 3. 아픈 동물 찾기 - ANIMAL_ID, NAME 칼럼을 조회합니다. - WHERE INTAKE_CONDITION="Sick"으로 아픈 동물만 선택합니다..

SQL 2022.04.10