1 sql 명령문 개괄 시험, 연산 순서 정렬하는 문제 from - where - group by - having - select - order by 종류 쓰는 문제 dml> select, insert, delete, update ddl> alter 바꾸다, create, modify, drop tcl> rollback, commit dcl> grant, revoke
select distinct(집약) 중복된 값들은 중복 제거(집약) = 원하는 정보를 집약 X distinct deptno, mgr = group by (deptno, mgr) as select 1. as 생략 가능 2. 컬럼명에 띄어쓰기 ex. 직원 번호> "직원 번호" from 1. as 사용불가 concat - 연산자가 무슨 기호인가? + = sql server || = oracle - 인수가 무조건 2개? concat( , ) 논리연산자 and or not - 의미 - 연산순위 1. not 2. and 3. or nao sql 연산자 - between and a between 1 and 2 = 1 'A@_A' EECAPE> '@' // 와일드카드 앞에, @는 아무 문자 가능
- ROWNUM(ORACLE), TOP(SQL SERVER) (WHERE) ROWNUM=1 포함 (SELECT) TOP(N)(컬러명) 컬럼명 출력할 때 상위 N개 - 시험, SELECT EMPNO, SAL FROM EMP WHERE ROWNUM 가장 마지막에 실행 - NULL, 시험 5문제 1. NULL의 정의 부재, 모르는 값 2. NULL의 산술연산 = NULL 2. NULL의 비교연산 EX. NULL=NULL NULL=2 > 알 수 없음(UNKNOWN) > WHERE(조건=UNKNOWN)> "FALSE" 3. 정렬상의 의미 오라클: 무한대 SQL SERVER: 최소값, -무한대 4. 25:19 [NVL> 널뛰기, (값1. 값2) NVL2 (1, 2, 3) ISNULL] (1, 2) [NULLIF]> 같이 놀자! (1, 2) [COALESCE]> 널 아닌 첫번째 값 (1, 2 ~ 무한대) 정렬 4문제 1. 정렬의 정의, 특성 - 가장 마지막에 실행 - 성능이 느려질 가능성, 소팅 작업 - 널값과의 관계 2. 컬럼번호 정렬 *출력되는 컬럼의 수 보다 큰 값 불허 3. 인수 두개 정렬 SAL DESC, ENAME ASC 4. 출력되지 않는 컬럼명으로 정렬 가능 SELECT ENAME ORDER BY SAL 숫자 함수 1. ROUND 자릿수 ROUND(138.94, 인수) EX. 0.123~ // 반올림 함수 2. CEIL ORACLE/ CEILING SQL SERVER // 올림 함수 문자열 함수 1. UPPER/ LOWER 대/ 소문자 2. LPAD, RPAD/ 공백 채우기, LTRIM, RTRIM/ 공백 제거 3. SUBSTR/ 문자 추출, INSTR/ 문자 위치 찾기 실습하기 날짜 함수 1. TO_CHAR, TO_DATE 실습하기 시험, 다음 중 데이터의 형 변환을 일으키는 함수? 2. SYSDATE(ORACLE) GETDATE(SQL SERVER) 3. 날짜 데이터+100? 100일 이후 , DAY로 인식 DECODE/CASE CASE만 시험! CASE WHEN THEN 1 WHEN THEN 2 ELSE 3/ ELSE 없을 때, 1, 2 만족X> NULL AND 집계함수, 시험 2-3문제 1. NULL 과의 관계 34:54 SUM(A)// 열 계산, 널뛰기 SUM(A+B+C)// 행 계산, NULL 연산 SUM(A)+SUM(B)+SUM(C) VS SUM(A+B+C) 차이 기억 GROUP BY 집약 기능, WHERE 다음에 실행, 그룹 수준으로 정보를 바꾼다 HAVING? 그룹에 대한 조건식 JOIN 1. NATURAL JOIN USING - > 중복된 컬럼 "하나"로 출력 > 제일 앞에 등장 > 테이블 ALIAS 사용 불가, 중요 2. LEFT, OUTER JOIN EX. A LEFT OUTER JOIN B = A COL1(조인키) =B COL1(+)/ 반대 선행 테이블이 선행 조건절 앞에, 후행 테이블은 후행 조건절 뒤에 있을 경우 서브쿼리 들어가는 위치 중요 SELCET SCALAR FROM INLINE VIEW, 메인 쿼리의 컬럼 사용 가능 WHERE 거의 모든 서브쿼리 GROUP BY X HAVING 거의 모든 - > 중첩서브쿼리 ORDER BY SCALAR 2. SELECT FROM A WHERE SELECT FROM B COL = A COL1 // A를 찾을 때 까지 = A COL1에 대입 서브쿼리에는 값이 고정 COLL = A 3. IN ANY/ SOME ALL EXIST 존재하다 모든 문자 출력 가능> TRUE (0ROWS)> FALSE 집합연산자 46:38 UNION 합집합 INTERSECT 교집합 MIINUS(SQL SERVER> EXCEPT ) 정렬 작업 존재, 느리다 UNION ALL> 중복 데이터 존재 정렬 작업X, 빠르다 UNION과 UNION ALL의 비교 , 누가 빠르냐? DDL TCL과 연관지어 생각 1. TRUNCATE VS DROP 입주민 퇴거/ 철거 구조(로그 데이터, 이전 기억 정보)가 남음/ 구조 삭제 TRUNCATE VS DELETE > DDL VS DML ROLLBACK, COMMIT DML INSERT UPDATE DELETE 1. TCL과 연관지어 출제 2. INSERT 오류사항 INSERT (인수 3개) VALUSE (인수 2개) 오류 MERGE 제약조건 PK= UNIQUE+ NOT NULL UNIQUE NOTNULL DCL GRANTE REVOKE 1. 정의 2. ROLE 5가지 특징 - 롤은 롤에게 부여 가능 - 사람에게 부여 가능, - 사람들은 같은 롤을 가질 수 있음 - 롤을 부여할려면 권한이 필요함 - 롤은 권한이 있는 사용자한테 만들어짐 명령어가 아닌 객체 중 하나 객체? 데이터베이스를 구성하는 물질들 EX. 테이블, 인덱스, 뷰, 롤 3. 문법 ON TO 구문 VIEW 독편보 *독립성, 기존 테이블의 구조가 변경되면 뷰 구조도 같이 변경, 업데이트 필요 X *편리성 *보안성 그룹함수 ROLL UP CUBE GROUPINGSETS (GROUPING) 시험, 결과값 주고 뭘 썻는지?, 세개 비교표 EX. ROLLUP(A, B) ROLLUP(B, A) = 같은 결과X CUBE(A, B) = - = 같은 결과 1. NULL 다 찾기 2. 총합행 찾기 있으면 ROLL UP(행의 수가 적으면), CUBE(행의 수가 많으면) 없으면 GROUPINGSETS 기출문제 풀면서 연습 TCL COMMIT, ROLLBACK SQL SERVER, AUTO COMMIT OFF AND BEGIN TRANSACTION> DDL COMMIT 기능 X
38:00 수정 : Natural Join 사용시 Alias 사용 가능합니다. 참고 부탁드립니다.
SQLD 강의 수강 안내 : www.songscampus.co.kr
1
sql 명령문 개괄
시험, 연산 순서 정렬하는 문제
from - where - group by - having - select - order by
종류 쓰는 문제
dml> select, insert, delete, update
ddl> alter 바꾸다, create, modify, drop
tcl> rollback, commit
dcl> grant, revoke
select
distinct(집약)
중복된 값들은 중복 제거(집약) = 원하는 정보를 집약
X
distinct deptno, mgr = group by (deptno, mgr)
as
select
1. as 생략 가능
2. 컬럼명에 띄어쓰기
ex. 직원 번호> "직원 번호"
from
1. as 사용불가
concat
- 연산자가 무슨 기호인가?
+ = sql server
|| = oracle
- 인수가 무조건 2개?
concat( , )
논리연산자
and
or
not
- 의미
- 연산순위
1. not
2. and
3. or
nao
sql 연산자
- between and
a between 1 and 2 = 1 'A@_A'
EECAPE> '@'
// 와일드카드 앞에, @는 아무 문자 가능
- ROWNUM(ORACLE), TOP(SQL SERVER)
(WHERE) ROWNUM=1 포함
(SELECT) TOP(N)(컬러명) 컬럼명 출력할 때 상위 N개
- 시험,
SELECT EMPNO, SAL
FROM EMP
WHERE ROWNUM 가장 마지막에 실행
- NULL, 시험 5문제
1. NULL의 정의
부재, 모르는 값
2. NULL의 산술연산
= NULL
2. NULL의 비교연산
EX. NULL=NULL
NULL=2
> 알 수 없음(UNKNOWN)
> WHERE(조건=UNKNOWN)> "FALSE"
3. 정렬상의 의미
오라클: 무한대
SQL SERVER: 최소값, -무한대
4. 25:19
[NVL> 널뛰기, (값1. 값2)
NVL2 (1, 2, 3)
ISNULL] (1, 2)
[NULLIF]> 같이 놀자! (1, 2)
[COALESCE]> 널 아닌 첫번째 값 (1, 2 ~ 무한대)
정렬 4문제
1. 정렬의 정의, 특성
- 가장 마지막에 실행
- 성능이 느려질 가능성, 소팅 작업
- 널값과의 관계
2. 컬럼번호 정렬
*출력되는 컬럼의 수 보다 큰 값 불허
3. 인수 두개 정렬
SAL DESC, ENAME ASC
4. 출력되지 않는 컬럼명으로 정렬 가능
SELECT ENAME
ORDER BY SAL
숫자 함수
1. ROUND 자릿수
ROUND(138.94, 인수)
EX. 0.123~
// 반올림 함수
2. CEIL ORACLE/ CEILING SQL SERVER
// 올림 함수
문자열 함수
1. UPPER/ LOWER 대/ 소문자
2. LPAD, RPAD/ 공백 채우기, LTRIM, RTRIM/ 공백 제거
3. SUBSTR/ 문자 추출, INSTR/ 문자 위치 찾기 실습하기
날짜 함수
1. TO_CHAR, TO_DATE 실습하기
시험, 다음 중 데이터의 형 변환을 일으키는 함수?
2. SYSDATE(ORACLE)
GETDATE(SQL SERVER)
3. 날짜 데이터+100? 100일 이후 , DAY로 인식
DECODE/CASE
CASE만 시험!
CASE
WHEN THEN 1
WHEN THEN 2
ELSE 3/ ELSE 없을 때, 1, 2 만족X> NULL
AND
집계함수, 시험 2-3문제
1. NULL 과의 관계
34:54
SUM(A)// 열 계산, 널뛰기
SUM(A+B+C)// 행 계산, NULL 연산
SUM(A)+SUM(B)+SUM(C) VS
SUM(A+B+C) 차이 기억
GROUP BY
집약 기능, WHERE 다음에 실행, 그룹 수준으로 정보를 바꾼다
HAVING? 그룹에 대한 조건식
JOIN
1. NATURAL JOIN
USING -
> 중복된 컬럼 "하나"로 출력
> 제일 앞에 등장
> 테이블 ALIAS 사용 불가, 중요
2. LEFT, OUTER JOIN
EX. A LEFT OUTER JOIN B
= A COL1(조인키) =B COL1(+)/ 반대
선행 테이블이 선행 조건절 앞에, 후행 테이블은 후행 조건절 뒤에 있을 경우
서브쿼리
들어가는 위치 중요
SELCET SCALAR
FROM INLINE VIEW, 메인 쿼리의 컬럼 사용 가능
WHERE 거의 모든 서브쿼리
GROUP BY X
HAVING 거의 모든 - > 중첩서브쿼리
ORDER BY SCALAR
2.
SELECT
FROM A
WHERE SELECT
FROM B COL
= A COL1
// A를 찾을 때 까지 = A COL1에 대입
서브쿼리에는 값이 고정 COLL = A
3.
IN
ANY/ SOME
ALL
EXIST 존재하다
모든 문자 출력 가능> TRUE
(0ROWS)> FALSE
집합연산자 46:38
UNION 합집합
INTERSECT 교집합
MIINUS(SQL SERVER> EXCEPT )
정렬 작업 존재, 느리다
UNION ALL> 중복 데이터 존재
정렬 작업X, 빠르다
UNION과 UNION ALL의 비교 , 누가 빠르냐?
DDL
TCL과 연관지어 생각
1.
TRUNCATE VS DROP
입주민 퇴거/ 철거
구조(로그 데이터, 이전 기억 정보)가 남음/ 구조 삭제
TRUNCATE VS DELETE
> DDL VS DML
ROLLBACK, COMMIT
DML
INSERT
UPDATE
DELETE
1. TCL과 연관지어 출제
2. INSERT 오류사항
INSERT (인수 3개) VALUSE (인수 2개) 오류
MERGE
제약조건
PK= UNIQUE+ NOT NULL
UNIQUE
NOTNULL
DCL
GRANTE
REVOKE
1. 정의
2. ROLE 5가지 특징
- 롤은 롤에게 부여 가능
- 사람에게 부여 가능,
- 사람들은 같은 롤을 가질 수 있음
- 롤을 부여할려면 권한이 필요함
- 롤은 권한이 있는 사용자한테 만들어짐
명령어가 아닌 객체 중 하나
객체? 데이터베이스를 구성하는 물질들
EX. 테이블, 인덱스, 뷰, 롤
3. 문법
ON TO 구문
VIEW
독편보
*독립성, 기존 테이블의 구조가 변경되면 뷰 구조도 같이 변경, 업데이트 필요 X
*편리성
*보안성
그룹함수
ROLL UP
CUBE
GROUPINGSETS
(GROUPING)
시험, 결과값 주고 뭘 썻는지?, 세개 비교표
EX. ROLLUP(A, B)
ROLLUP(B, A) = 같은 결과X
CUBE(A, B) =
- = 같은 결과
1. NULL 다 찾기
2. 총합행 찾기
있으면 ROLL UP(행의 수가 적으면), CUBE(행의 수가 많으면)
없으면 GROUPINGSETS
기출문제 풀면서 연습
TCL
COMMIT, ROLLBACK
SQL SERVER, AUTO COMMIT OFF AND BEGIN TRANSACTION> DDL COMMIT 기능 X
❤
이거 1, 2편 전날 2시간 빠짝보고 바로 합격했습니다.
레전드임
sql 왕자 같습니다. 잘봤습니다. 내일 23년 9월 10일 시험보시는 분들 화이팅입니다.
흡입력도 좋고 강의력도 좋으시네요.
좋은 강의 감사합니다.
3일전 이 강의보고 중요한개념 한번더 확인한뒤 최종합격했습니다 정말감사합니다
머리에 쏙쏙 들어오는 명강이다. 진작 이 강의를 들었으면 덜 고생했을텐데. 깔끔한 최종정리정리 감사합니다!!!!
이 강의 덕분에 11/20 SQLD 시험에 잘 응시했습니다. 감사합니다.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
뭘쪼개 븅 시나 @@gw-yt7js
42:30 ㅊㄱㅍ
강의 최고에요 감사합니다ㅜㅜ!!
좋은 강의 잘 보고 갑니다. 감사합니다
좋은 강의 감사합니다~!
좋은 강의 감사합니다.
오늘 시험에 많은 도움이 되었습니다.
@@예지-l2q 네 합격했습니다
@@예지-l2q 저는 전공수업으로 조금 들었어서..강의보다 기출 돌리시는게 더 좋았던거같습니다
선생님 강의가 너무 좋아요 감사합니다 하트
내용은 참 조은데 칠판이 잘 안보여서ㅠ 인강수강이 망설여지네요,, 인강 화질도 이럴거같아서;
좋은 영상 감사합니다 . SQL에대해서 배우고 싶었는데 ... 덕분에 이해가 쏙쏙되네요 PG sql에대해서도 강의하시나요?
28:30 정렬 / 35:27 집계함수와 null / 42:18 서브쿼리
시험 전날에 보고있습니다 내일 합격하고 올게요ㅋㅋ
합격기원!!!!
4년이 지났지만 현역 왕자님
뚝딱뚝딱
집계함수 설명에서
sum A 는 null 띄우고 3이 나오는데
sum A+B+C 에서는 왜 null + null + 1 = Null 이 나오나요??
간단하게 말해서 sum a는 세로를 합치는 건데 null을 제외하고 계산하는거고 sum A+B+C는 가로를 계산하는건데 null을 포함해서 계산하는겁니다
섬에이는 하나의 칼럼이라 널제외하고 더해서 3이고
섬에이비씨는 새로운 임의의 칼럼을 만든거라 서용
출력되는 컬럼의 수보다 큰값으로 컬럼 번호 정렬이 불허한다는게 무슨 말일까요..? 추가 설명 부탁드려요ㅜㅜ
출력되는 컬럼이
select 학과 학번 이름
이렇게 3개면
order by 1은 학과 기준 정렬
order by 2는 학번 기준 정렬
….
여기서 order by 4는 불가합니다
오 저도 궁금했는데 감사합니다
12:30 escape 부분 백 슬래시 아니고 @사용한 이유가 뭐죠??... 제가 잘못 알고있는지 ㅜㅜ
저기에 들어갈 문자는 아무거나 상관 없어요
34:25 카운트 뭐라고 하신건가요? 필기하는데 잘 모르겠어서 질문올립니다..
* 이거요.
43:55 A가 테이블 명이고 col은 속성값아닌가요 ? 그래서 그 칸에 있는 값이랑 B.col이랑 같이 같다는 말씀인 것 같은데 근데 뒤에가면 A.col = A를 말한다는 것도 이해가 잘 안됩니다...
A라는 테이블 안에 한 값의 예시로 'A' 라는 문자가 들어가 있다 하시는거 같네용
52:00 view 에 대한 설명 뭐가 맞는건가요
인강도 수강 가능 하나요?
41:50 부터 다시 듣기
SQL 기본 // 40:55 - 서브쿼리 까지
19:08~
30:40~
36:14~
34:29 count 에스트 에스크? 이게 무슨 뜻인가요?
asterisk 얘기하는거 같은데 * 모양 특수문자를 얘기하는거에요
영상 처음 select 문 순서에 왜 select가 having 뒤에 나오죠??? 가장 앞에 나와야하는거 아닌가요?? ㅜ 시작부터 헷깔려서 영상 뒷부분을 못보게 되네요
사용 시 문장에 배치되는 순서가 아니고 연산순서 입니다~
36:08
42:20
54:13
10:00
27:51
34:00
왜 from절에 as 사용이 불가함? 나만 이해안됨??
SELECT A.DNO, A.NUM FROM employee AS A;
이런식으로 쓰면 되는거 아님? 아니면 내가 잘못 알아들은건가...
사용하고싶다면
AS를 생략해서 넣어야됨 SELECT A.DNO, A.NUM FROM employee A;
오라클에선 as 안된답니당
@@giun4727 네 감사함당 ㅎ sqld 붙었네요
@@hyeonsu-hl2ff 짱짱맨
sqld가 오라클 위주로 나오나요? 저도 절대 안된다고 해서 뭔소린가 했네요
ㅎㅇ
10:00
이것만 보면 되지만 다 실습하라노
이것도 못하면 접어야지 뭐..
10:00
24:50
28:46
26:00
10:00
28:44
23:29
13:30
43:22
37:52