본문 바로가기

DB6

SQL 파싱과 최적화 옵티마이저가 SQL을 어떻게 처리하는지 서버 프로세스는 데이터를 어떻게 읽고 저장하는지 SQL : Structured Query Language 구조적 질의 언어 (↔ 절차적 프로그래밍) SQL 최적화 : DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정 SQL 실행 전 최적화 과정 SQL 파싱 수행 주체 : SQL 파서 (Parser) 파싱 트리 생성 : SQL문을 이루는 개별 구성요소를 분석해서 파싱 트리 생성 Syntax 체크 : 문법적 오류가 없는지 확인 (ex. 사용할 수 없는 키워드를 사용했거나 순서가 바르지 않거나 누락된 키워드가 있는지 확인) Semantic 체크 : 의미상 오류가 없는지 확인 (ex. 존재하지 않는 테이블 또는 컬럼을 사용했는지, 사용한 .. 2022. 4. 26.
[프로그래머스] [SQL] IS NULL 모음 https://programmers.co.kr/learn/courses/30/parts/17045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr --이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC --이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC --NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NAME,.. 2021. 8. 5.
[프로그래머스] [SQL] Group By 모음 https://programmers.co.kr/learn/courses/30/parts/17044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr --고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(*) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE --동명 동물 수 찾기 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME)>1 ORDER BY NAME --입양 시각 구하기(1) SELECT HOUR(DA.. 2021. 8. 5.
[프로그래머스] [SQL] String, Data 모음 https://programmers.co.kr/learn/courses/30/parts/17047 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr --루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORDER BY ANIMAL_ID ASC --이름에 el이 들어가는 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME .. 2021. 8. 5.
[프로그래머스] [SQL] JOIN 모음 https://programmers.co.kr/learn/courses/30/parts/17046 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr --없어진 기록 찾기 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS A WHERE NOT EXISTS( SELECT * FROM ANIMAL_INS B WHERE A.ANIMAL_ID = B.ANIMAL_ID ) SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_.. 2021. 8. 5.
[프로그래머스] [SQL] SELECT, SUM, MAX, MIN 모음 https://programmers.co.kr/learn/courses/30/parts/17042 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr https://programmers.co.kr/learn/courses/30/parts/17043 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr --모든레코드조회 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID --역순 정렬하기 SE.. 2021. 8. 5.