SQL 노랭이 풀이 (31~64)

·2023년 11월 13일
0

SQL

목록 보기
11/11

32번

  • SAVE TRANSACTION 이름;
    : 트랜잭션의 저장점을 지정해준다.
begin transaction;

save transaction sp1;  # sp1 저장점 설정
update 상품 set 상품명='LCD-TV' where 상품ID='001';

save transaction sp2;  # sp2 저장점 설정
update 상품 set 상품명='평면-TV' where 상품ID='001';

rollback transaction sp2;
commit;


34번

논리연산자의 우선순위는 NOT > AND > OR 순이다.



37번

공백문자('')

  • 오라클 : NULL 로 인식
  • SQL Server : 공백문자로 인식


39번

?????



40번

  • 1:M 조인이라 하더라도 M쪽에서 출력된 행이 하나씩 단일행 함수의 입력값으로 사용되므로 사용할 수 있다.

  • 다중행 함수도 단일행 함수와 동일하게 단일 값만을 반환한다.



41번

는 LENGTH 에 포함된다.

CHR(10) : 줄바꿈을 의미한다.
즉, 이렇게 줄바꿈 되던 문자가 이렇게 줄바꿈이 된다.



42번

1/24 : 1일 / 24시간 = 1시간
1/24/6 : 1시간 / 6분 = 10분
1/24/60 : 1시간 / 60분 = 1분
1/24/60/6 : 1분 / 6초 = 10초



43번

SEARCHED_CASE_EXPRESSION

CASE WHEN LOC = 'NEW YORK' THEN 'EAST' ELSE 'ETC' END

SIMPLE_CASE_EXPRESSION

CASE LOC WHEN 'NEW YORK' THEN 'EAST' ELSE 'ETC' END


45번

③ NULL 값을 확인할 때는 IS NULL 을 사용해야 한다. COLUMN = NULL (X)



46번

NULL 관련 함수

함수함수 설명
NVL(표현식1, 표현식2)
ISNULL(표현식1, 표현식2)
표현식1이 NULL이면 표현식2의 값을 출력하고,
표현식1이 NULL이 아니면 표현식1을 그대로 출력한다.
NULLIF(표현식1, 표현식2)표현식1이 표현식2와 같으면 NULL, 같지 않으면 표현식1을 리턴한다.
COALESCE(표현식1, 표현식2, ...)NULL이 아닌 최초의 표현식
모든 표현식이 NULL이라면 NULL을 리턴한다.

오라클에서는 NVL , SQL Server에서는 ISNULL 함수를 사용한다.



47번, 50번

NULL이 포함된 연산의 결과는 무조건 NULL !!!!
SUM, AVG, COUNT 등의 집계함수들은 NULL 값을 제외하고 계산한다.



51번

SQL3) COUNT(컬럼이름) : NULL 값 제외 / COUNT(*) : NULL 값 포함



53번

② HAVING 절은 일반적으로 GROUP BY 절과 함께 사용되지만, 반드시 GROUP BY 절과 같이 사용될 필요는 없다. HAVING 절은 집계 함수 결과를 기준으로 행을 필터링하는 데 사용된다.

④ 중첩된 그룹함수 => 최종 결과값 1건일 수 밖에 없음! GROUP BY 가 필요없음



56번

뭐가 오류라는거야? PASS



57번

③ ORDER BY 절에 컬럼명 대신 alias명이나 컬럼 순서를 나타내는 정수를 혼용하여 사용할 수 있다.

④ ORDER BY 절을 사용하는 경우 ORDER BY 절에 집계 함수를 사용할 수도 있다.



59번

SELECT 문장의 실행순서

FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY



60번

SELECT TOP 3 WITH TIES FROM 테이블명;

TOP 3 는 3개의 데이터만 출력하지만, TOP 3 WITH TIES 는 TOP 3에서 출력되는 데이터와 동일한 데이터까지 함께 출력된다.



61번

여러 테이블로부터 원하는 데이터를 조회하기 위해서는 전체 테이블 개수에서 최소 N-1 개 만큼의 JOIN 조건이 필요하다.



63번

EQUI JOIN

  • 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법
  • 대부분 PK와 FK의 연관성에 의해 성립된다. 하지만 반드시 PK와 FK 관계로만 성립되는 것은 아니다.
  • JOIN 조건은 WHERE 절에 기술하게 되는데 "=" 연산자를 사용해서 표현한다.
SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... 
FROM   테이블1, 테이블2 
WHERE  테이블1.칼럼명1 = 테이블2.칼럼명2; 

NON-EQUI JOIN

  • 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하지 않는 경우에 사용되는 방법
  • "=" 연산자가 아닌 다른 연산자들을 (BETWEEN, >, >=, <, <= 등) 사용하여 JOIN을 수행한다.
SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... 
FROM   테이블1, 테이블2 
WHERE  테이블1.칼럼명1 BETWEEN 테이블2.칼럼명1 AND 테이블2.칼럼명2;










0개의 댓글