하루 10분씩 핵심만 골라 마스터하는 SQL (1)
Day 1
데이터 베이스란 무엇인가?
SQL과 관련된 입장에서 보면 구조적인 방식으로 저장된 데이터의 모음을 말한다.
테이블
파을 케비닛에 정보를 저장할 때 그냥 던져 넣지 않고 서로 연관된 정보를 묶어 파일로 구분하고, 저장할 정보가 어떤 파일에 속하는지찾아 파일을 꺼낸 다음, 그 파일에 끼워넣을 것이다. 즉, 테이블은 특정한 방식으로 데이터를 저장할 수 있는 구조적 파일이다.
스키마
데이터 베이스, 테이블 레이아웃 및 속성에 대한 정보
기본 키
테이블 내에서 각 행을 고유하게 구분하는 데 사용되는 열
SQL이란 무엇인가?
Structured Query Language의 약자로 데이터 베이스와의 통신을 위해 고안된 언어이다.
Day 2
SELECT 문
SELECT 문의 목적은 하나 이상의 테이블에서 정보를 가져오는 것이다.
SELECT 열의 이름,열의 이름.. FROM 테이블 이름 ;
SQL언어에서는 명령어의 끝은 세미콜론( ; )으로 마무리한다.
여러 열을 가져올 시, 콤마( , )를 이용해 여러 열을 가져올 수 있다.
모든 열을 가져올 시, 와일드 카드 ( * )를 이용해 모든 열을 가져올 수 있다.
하지만, 와이들카드( * )는 되도록 사용하지 않는 것이 좋다. 왜냐하면 불필요한 열을
많이 가져오게 되면 응용 프로그램의 속도가 느려기지 때문이다.
Day 3
ORDER BY 절
알파벳 순으로 정렬하라고 지시하는 것이다.
SELECT 열의 이름 FROM 테이블 이름 ODER BY 열의 이름,열의 이름..;
ORDER BY 절을 지정할 때는 SELECT 문의 마지막 절이 되도록 해야한다. 그렇지 않으면 오류가 난다.
여러 열을 이용해 정렬할 시, 콤마( , )를 이용해 정렬한다.
또한 열의 위치를 기준으로 정렬이 가능하다.
예를 들어,
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2,3;
라면, SELECT 목록에 있는 두 번째 열로 정렬한 다음 두번 째 열의 값이 같은 항목에 대해서만 세 번째 열로 정렬하라는 의미이다.
내림차순으로 정렬 시 ORDER BY 1 DESC; 으로 처리 가능하다.
Day 4
WHERE 절
데이터를 검색할 때 검색 조건을 WHERE을 통해 지정한다.
WHERE 절은 FROM 절에 있는 테이블 이름 바로 뒤에 써야한다.
SELECT 열의 이름 FROM 테이블 이름 WHERE 검색 조건;
WHERE 절의 연산자는 C언어의 연산자와 유사하나,
"BETWEEN : 지정된 두 값 사이에 있음
IS NULL : NULL 값임" 이 존재한다.
작음따옴표( ' ' )는 문자열 값을 나타낼 떄 사용된다.
Day 5
데이터 베이스란 무엇인가?
SQL과 관련된 입장에서 보면 구조적인 방식으로 저장된 데이터의 모음을 말한다.
테이블
파을 케비닛에 정보를 저장할 때 그냥 던져 넣지 않고 서로 연관된 정보를 묶어 파일로 구분하고, 저장할 정보가 어떤 파일에 속하는지찾아 파일을 꺼낸 다음, 그 파일에 끼워넣을 것이다. 즉, 테이블은 특정한 방식으로 데이터를 저장할 수 있는 구조적 파일이다.
스키마
데이터 베이스, 테이블 레이아웃 및 속성에 대한 정보
기본 키
테이블 내에서 각 행을 고유하게 구분하는 데 사용되는 열
SQL이란 무엇인가?
Structured Query Language의 약자로 데이터 베이스와의 통신을 위해 고안된 언어이다.
Day 2
SELECT 문
SELECT 문의 목적은 하나 이상의 테이블에서 정보를 가져오는 것이다.
SELECT 열의 이름,열의 이름.. FROM 테이블 이름 ;
SQL언어에서는 명령어의 끝은 세미콜론( ; )으로 마무리한다.
여러 열을 가져올 시, 콤마( , )를 이용해 여러 열을 가져올 수 있다.
모든 열을 가져올 시, 와일드 카드 ( * )를 이용해 모든 열을 가져올 수 있다.
하지만, 와이들카드( * )는 되도록 사용하지 않는 것이 좋다. 왜냐하면 불필요한 열을
많이 가져오게 되면 응용 프로그램의 속도가 느려기지 때문이다.
Day 3
ORDER BY 절
알파벳 순으로 정렬하라고 지시하는 것이다.
SELECT 열의 이름 FROM 테이블 이름 ODER BY 열의 이름,열의 이름..;
ORDER BY 절을 지정할 때는 SELECT 문의 마지막 절이 되도록 해야한다. 그렇지 않으면 오류가 난다.
여러 열을 이용해 정렬할 시, 콤마( , )를 이용해 정렬한다.
또한 열의 위치를 기준으로 정렬이 가능하다.
예를 들어,
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2,3;
라면, SELECT 목록에 있는 두 번째 열로 정렬한 다음 두번 째 열의 값이 같은 항목에 대해서만 세 번째 열로 정렬하라는 의미이다.
내림차순으로 정렬 시 ORDER BY 1 DESC; 으로 처리 가능하다.
Day 4
WHERE 절
데이터를 검색할 때 검색 조건을 WHERE을 통해 지정한다.
WHERE 절은 FROM 절에 있는 테이블 이름 바로 뒤에 써야한다.
SELECT 열의 이름 FROM 테이블 이름 WHERE 검색 조건;
WHERE 절의 연산자는 C언어의 연산자와 유사하나,
"BETWEEN : 지정된 두 값 사이에 있음
IS NULL : NULL 값임" 이 존재한다.
작음따옴표( ' ' )는 문자열 값을 나타낼 떄 사용된다.
Day 5
WHERE 절의 조합
WHERE 절에서 여러 연산자들을 이용해 더욱 상세하게 만들 수 있다.
AND 연산자 : AND 연산자와 연결된 여러가지 검색 조건을 만족하는 데이터만 보여준다.
OR 연산자 : 여러가지 조건들 중 하나 이상의 조건에 부합되면 만족시킨 데이터를 보여준다.
여기서 주의할 점은 WHERE 절에서 AND와 OR을 섞어서 쓸 수 있는데
SELECT prod_name, prod_price FROM Products WHERE vend_id='DLL01' OR vend_id='BRS01' AND prod_price>=10;
AND 연산자가 OR 연산자보다 우선순위가 높기 때문에 ('DLL01' 제품 혹은 'BRS01' 제품) 중 가격이 10달러 이상인 값을 원했지만, 'DLL01' 제품 혹은 ('BRS01' 중 10달러 이상인 제품)인 데이터를 나타낸다. 그러므로
SELECT prod_name, prod_price FROM Products WHERE (vend_id='DLL01' OR vend_id='BRS01') AND prod_price>=10;
로 명령어를 작성해야한다.
IN 연산자 : IN 연산자는 조건의 범위를 지정하는 데 사용된다.
값은 콤마( , )로 구분하여 괄호 내에 묶으며, 이 값 중에서 하나 이상과 일치하면 조건에 맞는 것으로 평가된다.
SELECT 열의 이름 FROM 테이블 이름 WHERE 검색하고자 하는 열 IN (검색하고자 하는 열의 행 값,검색하고자 하는 열의 행 값..);
NOT 연산자 : 바로 뒤에 오는 조건을 부정하는 역할을 하며, 때문에 혼자서는 사용되지 않는다.
SELECT 열의 이름 FROM 테이블 이름 WHERE NOT 검색하고자 하는 열 IN (검색하고자 하는 열의 행 값,검색하고자 하는 열의 행 값..);
NOT 연산자 : 바로 뒤에 오는 조건을 부정하는 역할을 하며, 때문에 혼자서는 사용되지 않는다.
SELECT 열의 이름 FROM 테이블 이름 WHERE NOT 검색하고자 하는 열 IN (검색하고자 하는 열의 행 값,검색하고자 하는 열의 행 값..);
댓글
댓글 쓰기