Database/SQLD 자격증 대비

SQL 헷갈리기 쉬운 부분

Tech Signal 2020. 9. 3. 09:05

SELECT userid|| usernm 

SELECT CONCAT(userid, usernm)

BETWEEN AND면 이상,이하임 INSTR('바나나', '나나') 문자열 안의 문자열 찾기 -> 존재할 경우 인덱스 반환  GROUP BY 쓸 때 NULL 알아서 제외된다
 'co%'
LIKE할때 %% 모든 문자열
_ 딱 하나 문자
MOD(sal, 3) 
sal%3
JOIN 컬럼(연결고리) 중 조인이 실패하여 데이터가 없는 쪽의 컬럼에 (+)을 붙여준다. 여러개면 여러개 다 (+) 붙인다.
NULL할땐 IS NULL, IS NOT NULL
값 있을 땐 <> (같지 않다)

NVL(expr1, expr2)

expr1, 2 데이터타입 일치해야함
  • IN

    • 서브쿼리 결과 중 정확히 맞는 값 찾기

  • ALL

    • 섭쿼리 결과 중 모두 맞을 때, 만족시킬 때

  • ANY

    • 섭쿼리 결과 중 하나라도 만족시킬 때

NOT IN연산자를 쓸 경우 서브쿼리의 값에 NULL이 있는지가 중요.


SELECT * 

FROM emp

WHERE empno NOT IN (SELECT mgr

                    FROM emp);

 => 서브쿼리 부분에서 mgr이 NULL인애가 있음: KING

EXISTS 연산자의 장점:

만족하는 행을 하나라도 발견하면 더이상 탐색을 하지 않고 중단. 

행의 존재 여부에만 관심이 있을 때 사용함.