코테 준비/SQL

SQL 공부

imsmile2000 2023. 3. 2. 18:20
 

SQL 기본문법 한번에 정리하기

데이터베이스를 조작하기 위해 MySQL, Postgre, SQLite 등 SQL을 사용해야 할 일이 잦은데요. ...

blog.naver.com

 

 

1. 날짜 형식 변경

 

[MySQL] DATETIME 원하는 유형으로 변경 (YYMMDD)

MySQL에서 DATETIME 타입은 YYYY-MM-DD hh:mm:ss 와 같은 형식으로 반환한다.실제로 이걸 이대로 쓴적은 한번도 없는거 같다. 그래서 필요에 따라서 YYYY-MM-DD까지만 짤라서 쓰거나 시분초가 필요없을때는

velog.io

DATE_FORMAT(DATETIME,’%y-%m-%d’)

<모든 시간대 출력> 변수선언

 

[MySQL]프로그래머스_입양 시각 구하기(2) (UNION/변수선언)

문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아

syujisu.tistory.com

<시간 차이 출력>

SELECT DATEDIFF('dd','Start_Date','End_Date')

 

2. EMP 테이블에서 이름이 A로 시작하는 사원을 모두 출력

SELECT ENAME
FROM EMP
WHERE ENAME LIKE 'A%’

 

3. NULL

  WHERE NAME IS NOT NULL

 

[DB] MySQL NULL 처리(IFNULL, CASE, COALESCE)

MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있

velog.io

 

4. 가장 날짜가 빠른 사람 출력하기

SELECT NAME
FROM ANIMAL_INS
WHERE DATETIME=(SELECT min(DATETIME) FROM ANIMAL_INS);

 

5. 나이가 20 이상 30이하인 사람

select * from member where age between 20 and 30;
select * from member where age >= 20 and age <= 30;
select * from member where user_id between 'a' and 'c';

 

6. GROUP BY, HAVING

 

7. 반올림, 올림, 내림

 

[SQL] ROUND, FLOOR, CEIL 함수

ROUND 함수는 숫자를 각 자리에서 반올림해주는 함수이다. 먼저 샘플 테이블을 불러와보았다. amount ...

blog.naver.com

 

8. UNION

 

MySQL - UNION , UNION ALL 차이

UNION 과 UNION ALL 의 사용법과 차이점 employees_1 테이블 employess_2 테이블 UNION (DISTINCT) 쿼리의 결과를 합친다. 중복된 ROW는 제거 employee_1 테이블과 employee_2 테이블 UNION 결과값 UNION ALL 모든 컬럼값이

jmkim.tistory.com

 

 

[SQL] 쿼리문 합치는 방법 (UNION, UNION ALL)

두 개 이상의 SQL 쿼리문을 합치는 방법에 대해 알아보자. 부득이하게 여러개에 쿼리문을 사용하여 하나에 데이터로 출력해야되는 경우가 존재한다. 이럴 때 사용하는 방법이 바로 UNION 연산자이

sesok808.tistory.com

 

9. MAX 

가격이 제일 비싼 식품의 정보 출력

 

 

10. COUNT

 

[SELECT] 중복과 NULL을 제거한 개수 세기 (COUNT, NULL, DISTINCT)

오늘의 문제: 프로그래머스 > 중복 제거하기 요구조건 오늘의 문제는 다음의 요구조건을 만족해야 한다. 1. NAME의 개수를 세야 함 - COUNT 2. NAME 중 NULL인 것은 제외해야 함 - WHERE NAME IS NOT NULL 3. NAME

huilife.tistory.com

DISTINCT → 중복 제거

WHERE ~~ IS NOT NULL → NULL값 제외

 

11. ORDER BY 특정 값 먼저 정렬

 

[MySQL] ORDER BY 특정 값 우선 정렬 하기 (ORDER BY FIELD)

MySQL에서 ORDER BY 사용 시 특정한 값을 우선적으로 정렬- FIELD 함수를 이용하여 특정한 값을 우선적으로 정렬 할 수 있다. 1. ORDER BY FIELD() 를 사용하여 'BTC'가 첫번째, 'ETH'가 두번째, 그외 나머지는

jabstorage.tistory.com

 

12. 가격대별 그룹화

   TRUNCATE(숫자, 버림할 자릿수)

   EX) 함수를 사용하여 0원 ~ 1만원 미만은 0, 1만원 이상 ~ 2만원 미만은 1, ..., 으로 분류

          TRUNCATE(PRICE, -4)

 

13 .문자열 대체

ex) employees 테이블에서 job_id 문자열 값이 ACCOUNT면 ACCNT로 출력하세요.
SELECT job_id, REPLACE(job_id, 'ACCOUNT', 'ACCNT') 적용결과
 

[MySql] mysql 다중 문자열 치환 - Replace & case 쿼리

컬럼의 상태코드 값에 따라, 특정한 문자열로 치환해서 표현하라는 온보딩 과제를 받았습니다. ex) 테이블의 CODE 는 상품 카테고리이다. 0은 사료, 1는 간식, 2은 영양제, 3는 용품 그외는 ETC로 표

thalals.tistory.com

 

14. 특정 문자열 추출

 

[SQL][함수] Substring : 문자열 일부 추출

SQL에서 함수 substring은 하나의 필드 데이터의 일부를 읽는데 사용된다. 데이터베이스에 의해 이 함수명이 다르다.MySQL : SUBSTR(), SUBSTRING()Oracle : SUBSTR()SQL Server : SUBSTRING()일반적으로 사용되는 경우

araikuma.tistory.com

 

15. 조건문

 

[Mysql] Mysql 조건문 - IF 문, CASE 문

Mysql의 IF ~ Else 조건문 (Mysql의 IF 문은 엑셀에서의 IF 함수와 동일합니다.) if ( 조건문, 참일때 값, 거짓일때 값) SELECT IF(required, '필수' '선택') AS '필수여부' FROM TABLE SELECT A.seq, IF(A.seq

redcow77.tistory.com

 

16. 가장 오랜 기간동안 보호한 동물 (2명)

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A, ANIMAL_INS B
WHERE A.ANIMAL_ID=B.ANIMAL_ID
ORDER BY (A.DATETIME-B.DATETIME) DESC
LIMIT 2

 

17. JOIN

 

SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)

조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부

hongong.hanbit.co.kr

INNER JOIN=JOIN (교집합)

 

18. RANK

 

[SQL]함수로 순위,등급,비율 출력하기(RANK, DENSE_RANK, NTILE,CUME_DIST)

041 데이터분석 함수로 순위 출력하기 (RANK) 데이터의 순위를 출력하기 위해서 RANK 함수를 사용합니다. RANK() 뒤에 OVER 다음에 나오는 괄호에 안에 출력하고 싶은 데이터를 정렬하는 SQL 문장을 넣

seoyuun22.tistory.com