SQLD 기출문제 풀이 1회차 (youtube.com)
1.ROUND('34124.1',-2)
이렇게 ROUND 함수에 음수의 패러미터가 들어오게 된다면 주의해야될점이 있다.위 예시 코드에서는 십의 자리에서 반올림을 하라는건데 이게 헷갈릴만 한 이유는 양수일때와 다르기 떄문이다.양수일때는 소수점(패러미터) 의 밑의 자리에서 반올림을 해주는건데 좀 다르다.또한 기준점 밑의 수는 전부 0으로 바꿔버려서 해당 문제의 답은 34100이 된다.
2.WHEN THEN ELSE END 에서 ELSE를 안쓴다면?
ELSE 조건을 따로 만들어놓지 않는다면 조건에 만족하지않는 모든 튜플들은 NULL이 된다.
위 문제와는 다른 내용이긴 하지만 NULL값은 = 와 같은 연산자와의 리턴이 전부 다 FALSE이다.
3. LIKE %무언가%
%무언가%는 무언가 가 어디엔가 포함이 되어있다면 TRUE이다.
OR와 AND의 혼합사용
OR와 AND가 같이 쓰이면 먼저 AND부터 우선순위를 가져서 묶어주고 그 후에OR연산을 +로 처리해서 수행한다.
문자열 타입의 숫자 크기 차이
111이라는 문자와 21 그리고 22가 있다고 했을때 문자열 비교는 첫번째 자리부터 비교한다 -> 111 , 21 과 22
그 후에 21과 22를 비교한다.
GROUP BY
공집합을 GROUP BY(WHERE조건에 단 하나도 만족하지않을때 발생) 하면 진짜 아
무거도없다.아
무거도 없으면 COUNT할 대상 자체가 없으므로 SELECT COUNT해봐야 데이터 자체가 없다.
ORDER BY 시 주의 사항
칼럼 별칭을 사용 시에 ORDER BY절에서 테이블 별칭은 사용 불가
내츄럴 조인
내츄럴 조인은 칼럼의 이름이 같은 애들끼리 조인해버린다
이게 생각을 잘 해봐야하는데 테이블에 만약 A테이블: 음식 사람 국가 이렇게 있고
B테이블이 음식 사람 휴먼 이러면 A테이블의 음식,사람 과 B테이블의 음식 사람의 각 칼럼중 둘이 같은거끼리 묶어서 조인해주는게 내츄럴 조인
NOT IN 혹은 EXISTS의 조건 안에 특정 칼럼 = NULL 인 경우
특정 칼럼 = NULL 은 무조건 FALSE를 리턴하므로 조건을 잘 봐야된다!
SELECT절에 쓰는 스칼라 서브 쿼리에 대하여
스칼라 서브 쿼리는 무조건 단일행이여야 한다.(다중행이면 안된다)
NUMBERS(5,2) 는 총 5자리 중 2자리는 소수점으로 쓰겠다는 뜻~
만약 123.534234 라해도 12.53까지로 컷함 더 긴 소수점 수는 문제가 돼지않는다.하지만 정수의 자리는 반드시 3(백의 자리까지)로 맞추어주어야지 넘어가도 안돼고 적어도 안된다.