일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시나공
- 코딩교육봉사
- java
- 1과목
- 코딩봉사
- 자바
- 회고
- 알고리즘
- MYSQL
- softeer
- python
- 코틀린
- 프로그래머스
- SW봉사
- 파이썬
- 데이터베이스
- 스프링
- 정보처리산업기사
- programmers
- 백준알고리즘
- kotlin
- 백준 알고리즘
- 백준
- BFS
- SQL
- CJ UNIT
- 소프티어
- C++
- 공부일지
- 문제풀이
- Today
- Total
목록SQL (16)
JIE0025
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/E4EVN/btszHthdL2R/FzpEseh9lnd2U3jJwqEhGk/img.png)
https://school.programmers.co.kr/learn/courses/30/lessons/131114 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 문제 간단한 출력 문제이다. ✍️ CASE 문 CASE 문을 이용해 NULL일경우 'N'을 출력하게 만들 수 있다. CASE WHEN FREEZER_YN IS NULL THEN 'N' ELSE FREEZER_YN END AS FREEZER_YN ✍️ SUBSTRING(문자열, 시작위치, 몇글자) MySQL에서 문자열 자를때 사용한다. SUBSTRING(ADDRESS, 1, 3) = "경기도"..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bNosMF/btszkAUweGj/YguI0UAKKQduwl07X43xU1/img.png)
https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 문제 ✅ 해결 조건문에 따라 출력을 다르게 해줘야하는 문제! MYSQL에선 조건에 따른 출력을 다룰 때 CASE문을 사용한다. ⏺ CASE WHEN 조건문 THEN 값 WHEN 조건문 THEN 값 ... ELSE 값 END AS 열이름 위의 문법을 적용하면, SALE -> 판매중 출력 RESERVED -> 예약중 출력 DONE -> 거래완료로 출력 SELECT BOARD_ID, WRITER_..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/WKmpU/btszkQCXszo/u801Ejq45udWgp7VeQwTA0/img.png)
https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 문제 ✅ 해결 간단한 SELECT 문제이다. 기초적인 날짜 데이터를 처리하는 방법을 알면 간단하게 해결 가능하다! ⏺ DATE_FORMAT(날짜문자열, 변경하고자 하는 포맷) ⏺ YEAR(날짜) : 날짜에서 년도 추출 ⏺ MONTH(날짜) : 날짜에서 월 추출 ... DAY / HOUR / MINUTE / SECOND 등도 똑같이 사용하면 된다. SELECT B.TITLE, B.BOARD_..
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bM0irV/btq2xbmoWcN/0WOFfPpI0K65nrnGMJp2EK/img.png)
LIKE 술어 문자열 패턴 검색시 사용 % 와일드카드 : 문자열 LIKE 'D%' D로 시작하는 모든 문자열 패턴을 의미한다. -- Last name starts with D SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE 'D%'; _(밑줄) 와일드카드 : 문자 (한글자) LIKE '_e%' 첫글자는 어떤 문자 한개, 두번째 글자는 무조건 e 두번째 이후는 어떤 문자열이 와도 상관없다 -- Second character in last name is e SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE '_e%'; [문자열 목록] 와일드 카드 LIKE N'[ABC]%' 앞의 첫글자는 A..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FUyEi/btq2CEmZ9QC/XrPvLoc47GllTnjD3ysEpK/img.png)
사전지식 Statement (문) : Action 명령어 , ~을 하라 Expression (식, 표현식) : 값을 반환하는 Statement 명령문 Expression 표현식 SELECT a, b,c FROM dbo.temp temp에서 a,b,c 컬럼값을 조회 하라 명령어 WHERE custid > 0 반드시 어떤 값이 반환이 되어야만 한다. custid 가 0보다 큰지에 대해 TRUE, FALSE, NULL 셋중 하나 무조건 반환 스칼라 값(단일 값)으로 반환 CASE 표현식 CASE는 조건논리를 기반으로 값을 출력하는 스칼라 표현식 CASE는 표현식(Expression)이지 구문(Statement) 가 아니다. CASE 표현식의 종류 - 단순형 (CASE다음에 column있음, WHEN 다음에 값..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/crnQgg/btq2wLnHRRu/UrnKp0h2t0TVKfpkxoDMMk/img.png)
술어와 연산자 술어 : TRUE, FALSE, UNKNOWN 으로 평가되는 논리적 표현식 WHERE, HAVING, CHECK 제약조건 등이 술어에 해당 IN, BETWEEN, LIKE도 T-SQL에서 지원하는 술어. 비교연산자 표준 비교 연산자 : =, >, =, , ! 산술 연산자 > 비교 연산자 > 논리 연산자 > 술어 연산자 > = 1. () 2. *, /, % 3. +(Positive), -(Negative), +(Addition), +(Concatenation), -(Substraction) 4. =, >, =, , !< (Comparison operation) 5. NOT 6. AND 7. BETWEEN, IN, LIKE, OR 8. = (Assignment), 할당 4번 = 와 8번 =는 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bm793d/btq107YFp1b/8BsKDhASQQsYHEQksY3w7K/img.png)
윈도우함수(Window Function) - 테이블의 행과 행 사이 관계를 쉽게 정의하기 위해 제공하는 함수 - OVER 절이 들어간 함수 - GROUP BY와 비슷하게 데이터를 그룹화하여 집계한다. - GROUP BY는 집계된 결과만 보여주지만, 윈도우함수는 기존 데이터에 집계된 값을 추가해 나타냄 - GROUP BY 구문과 병행하여 사용 불가. SELECT 윈도우함수(인수) OVER( [PARTITION BY 컬럼명] ORDER BY WINDOWING 절 ) FROM 테이블명; ARGUMENTS, 인수 윈도우 함수에 따라서 0~N개의 인수를 설정한다. PARTITION BY 전체 집합을 기준에 의해 소그룹으로 나눈다 ORDER BY 어떤 항목에 대해서 정렬한다 WINDOWING 행 기준 범위를 정함 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cAP0FX/btq10LPcfIb/TeFWPkTjxsrYcavCa7tKRK/img.png)
TOP(n)을 사용하면 결과중 상위 결과 n개를 확인할수 있다. 만약 TOP (n) PERCENT 를 사용했다면, 상위 n% 의 결과를 확인할 수 있다. 정렬의 방향 기본 정렬 순서 : ASC (오름차순: 작은값 -> 큰값) DESC (내림차순 : 큰값 -> 작은값) ASC 오름차순 예제 SELECT TOP(5) orderid, orderdate, custid,empid FROM Sales.Orders ORDERBY orderdate, orderid; DESC 내림차순 예제 SELECT TOP(5) orderid, orderdate, custid,empid FROM Sales.Orders ORDERBY orderdate DESC, orderid DESC;
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c0ujSw/btq1ZFuzkpX/a1molSCkams7cAFQlDMuc1/img.png)
개별 조회 : 행을 각각 조회하는 것 집계 조회 : 결과 행들을 그룹 단위로 집계해서 조회하는것 - 여러개의 행이 한개의 그룹으로 묶일 수 있을 떄 묶어서 집계한 결과를 조회함. - GROUP BY와 HAVING 쿼리 사용. 행 각각이 아닌 그룹핑을 하여 조회하는 것이다. orderid empid 1 1 2 1 3 1 위의 테이블을 보며 이해해보자 위 테이블에 존재하는 행의 개수는 3개이다. 다음 명령어를 실행했을 때, SELECT empid FROM Sales.Orders GROUP BY empid 를 진행하면 결과로 출력되는 행은 1개이다 empid로 구분하여 행들을 출력하라는 의미! sales.orders테이블로부터 고객 ID가 71번인 것의 주문 건수(행) 중에..