본문 바로가기

카테고리 없음

노랭이 과목2

SQLD 노랭이 과목2

4번

오라클에서는 특히나 FROM절이 존재해야한다.(명시적인 FROM이 필요없는 애들은 DUAL테이블을 써서라도 FROM절의 배를 채워주자!)

6번

테이블의 구조를 생성…. → DDL : 애는 한번 해버리면 되돌릴수가 없어

8번

WHERE 절에는 집계함수가 불가능!(SELECT,HAVING,ORDER BY 에서 주로 사용 가능하다!)

9번

NULL 과의 사칙연산을 한 값은 무조건 NULL이다(이는 NULL이 값이 아니기 떄문에 가능)

10번

ANSI표준을 기준으로 WHERE절에서 NULL인 값에 대한 조건을 붙일때는 → IS NULL 과 IS NOT NULL

11번

오라클에서 공백은 null로 처리하지만(따라서 공백으로 넣은 값도 찾을때는 where절에서 is null로 찾아야한다) SQL 서버에서는 공백문자로 처리한다(따라서 WHERE = ‘’ 요렇게)

12번

LTRIM(대상,빼줄 문자열) → 왼쪽부터 빼줄 문자열을 빼주고 빼줄 문자열이 안나올때까지 뺀 다이어트한 대상을 리턴

LPAD(대상,추가할 문자열) → 추가할 문자열+ 대상 이렇게 해서 리턴(살쪘으)

14번

HAVING 절은 일반적으로 GROUP BY절 뒤에 위치하는게 맞지만 앞에 온다고 아예 틀린건 아니다!(앞에 올 수도 있긴하다)

16번

TO_DATE()에 + 연산시 기본적으로 하루(24시간)이 더해진다(TO_DATE(어쩌구저쩌구) + 1) 은 어쩌구저쩌구 + 1일 몇 시 몇 분 몇 초 이렇게 추출된다.

18번

CASE문에 ELSE를 따로 명시해주지않으면 오라클에서는 NULL로 인식한다!

19번

NULL 관련 함수!

  • NVL(표현식1,표현식2) : 표현식 1이 널이면 표현식 2를 리턴(단 두 파라미터의 타입은 동일해야한다)
  • NULLIF(표현식1,표현식2) : 만약 표현식1과 표현식 2가 같다면 NULL 그렇지 않다면 표현식 1을 리턴해준다.(어렵쓰)
  • IS NULL(표현식1,표현식2) → 표현식 1이 널이면 표현식 2를 리턴(단 두 파라미터의 타입은 동일해야한다)

25번

https://www.youtube.com/watch?v=yukWpeG7SWw&list=PL_hDrax6_odulENm_BrLTbbzLQCWYYf__&index=6

인라인 뷰 안에서는 밖에서 선언한 테이블을 참조할 수 없다(생각해보면 간단하다 인라인 뷰 안에서가 먼저 수행되어야할텐데 그 다음에 수행되어야되는 곳의 테이블 ALIAS를 참조할 수가 없다)

인라인 뷰는 독립적인 실행 단위라고 생각하자!

29번

SELECT 절에서 선언한 alias는 유일하게 order by절에서 사용이 가능!

SELECT절에 선언안했더라도 가져오는 테이블의 다른 칼럼을 기준으로 ORDER BY 가능!

(중요!)ORDER BY위에 GROUP BY가 있다면?

  • 이때는 주의해야하는데 먼저 첫번째로 GROUP BY에 있는 칼럼이나 ‘혹은’ 집계함수 같은 그룹함수를 쓸수있지만 위의 상황처럼 테이블의 다른 칼럼을 기준으로는 절대 안된다!

35번

https://www.youtube.com/watch?v=amfZVmqUs2M&list=PL_hDrax6_odulENm_BrLTbbzLQCWYYf__&index=7

DBMS 옵티마이저는 특정 2개를 먼저 조인하고 그 다음 남는 테이블들을 차례대로 조인한다.(계속 2개의 잡합씩)

=연산자에 의해서만 수행되는 EQUI JOIN을 제외한 나머지(예를 들어 >나 혹은 BETWEEN연산자) 모든 JOIN은 NON EQUI JOIN이다!

대부분 NON EQUI JOIN을 수행할 수 있지만 때로는 설계상의 이유로 안될수도?

37번

순수 관계 연산자 목록

  • 1.SELECT를 90도로 뒤집으면 → 2.PROJECT 연산
  • 3.DIVISION A/B 를 하면 A중 B에 있는걸 포함하는 애들이 뽑힌다.