일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- 정렬
- 코딩테스트
- Kotlin
- 검색트리
- BFS
- 다이나믹 프로그래밍
- Color
- 순환
- Web
- javascript
- front-end
- 프로그래머스
- html
- 구현
- Spring
- codecademy
- 해슁
- algorithm
- SWEA
- inflearn
- 알고리즘
- 클린코드
- DFS
- java
- CSS
- CleanCode
- android
- SQL
- DP
- Today
- Total
목록SQL (6)
깡뇽
루시와 엘라 찾기 #방법1 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty') ORDER BY ANIMAL_ID; #방법2 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS HAVING NAME = 'Lucy' OR NAME = 'Ella' OR NAME = 'Pickle' OR NAME = 'Rogan' OR NAME = 'Sabrina' OR NAME = 'Mitty' ORDER BY ANIMAL_ID; 내가 작성한 쿼리는 방법2인데 너무 비효율적이라고 생각하여 해답을 찾아보았더니 많은 사..
여러 테이블을 연결해서 데이터를 추출하고자 한다면 JOIN을 사용해야 한다. 레코드를 조합하는 방식에 따라 아래와 같이 구분된다. ☆ INNER JOIN : ON 절의 만족하는 데이터만 추출 ☆ LEFT JOIN : 첫 번째 테이블이 기준이 되어 두 번째 테이블을 조합(ON 절의 조건에 만족하지 않으면 첫 번째 테이블의 필드 값은 그대로 가져오지만 해당 레코드의 두 번째 필드 값은 모두 NULL로 표시) ☆ RIGHT JOIN : 두 번째 테이블이 기준이 되어 첫 번째 테이블을 조합(ON 절의 조건에 만족하지 않으면 두 번째 테이블의 필드 값은 그대로 가져오지만 해당 레코드의 첫 번째 필드 값은 모두 NULL로 표시) 없어진 기록 찾기 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ..
이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID IS NULL : 데이터가 NULL인지 확인 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID IS NOT NULL : 데이터가 NULL이 아닌지 확인 NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NAME, "No name"), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID IFNULL(컬럼명, 대체값) : 추출하려고 하는 컬럼명에 NULL값이 있는 경우 대체값으로 바꾸어 추출
고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(*) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE GROUP BY : 컬럼에서 같은 것들끼리 묶기 동명 동물 수 찾기 #방법1 SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 ORDER BY NAME #방법2 SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME #방법3 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS..
최댓값 구하기 SELECT DATETIME AS 시간 FROM ANIMAL_INS WHERE DATETIME = (SELECT MAX(DATETIME) FROM ANIMAL_INS) AS 컬럼명 : 출력 시에 컬럼명으로 변경 MAX( ) : 최대 최솟값 구하기 SELECT DATETIME AS 시간 FROM ANIMAL_INS WHERE DATETIME = (SELECT MIN(DATETIME) FROM ANIMAL_INS) 동물 수 구하기 SELECT COUNT(*) FROM ANIMAL_INS COUNT( ) : 개수 구하기 중복 제거하기 SELECT COUNT(DISTINCT(NAME)) FROM ANIMAL_INS WHERE NAME != 'NULL'; DISTINCT( ) : 중복 제거
프로그래머스 SQL High Score Kit 문제를 풀어보려고 한다. 이전에 몇 개를 풀기는 했었는데 기억이 나지 않으므로 다시 풀어야지..! 모든 레코드 조회하기 풀이 SELECT * FROM ANIMAL_INS * : 모든 정보 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ORDER BY : 기준 DESC : 역순 / ASC : 기본(오름차순/작은것->큰것) 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID WHERE : 조건 추가 주의) WHERE이 오고 나서 ORDER BY 사용 가능 어린 ..