본문 바로가기
SQL

sql 기본

by hihijh826 2023. 10. 16.
728x90
반응형
SMALL

Database : 데이터를 모아 구조적으로 통합해 놓은 것

 

1. SELECT

- 가져올 열 선택(조회)
- 출력만 할 뿐 데이터의 값이 데이터베이스에 반영되지는 않음 

 

 

1) 전체 조회

 

SELECT * 
FROM;
 * : 전체 열

 

2) 원하는 열만 조회

 

SELECT 학번, 이름 
FROM 테이블 이름;


2. FROM

- 데이터 가져올 테이블 지정 

 

3. ORDER BY

: 행에 대해 정렬 순서를 지정 가능

ORDER BY 열 이름 [ASC or DESC]

[ ]안에 있는 것들은 선택사항이라는 뜻 

-  ASC( 오름차순)이 기본값 

- FROM 이후에 씀 

SELECT employee_id,first_name
FROM employees
ORDER BY employ_id DESC;
ORDER BY 열이름, 열 이름 DESC, 열이름 ASC

- 위 형식처럼 각 열마다의 ASC,DESC을 정할 수도 있음 

 

4. DISTINCT

- 값의 행이 중복되었다면 중복된 값을 제거하고 출력

- DISTINCT 명령어 뒤에 열 이름을 계속 나열하면 나열한 순서대로 적용됨

SELECT DISTINCT job_id
FROM EMPLOYEES;

 

5. AS

- 열이름 변경시 사용

- AS 접속사 생략 가능

- 원래의 열 이름이 물리적으로 영원히 변경되는 것은 아님

- 공백, 특수문자,대소문자 등을 사용하려면 " " 따옴표 사용

SELECT 열 이름 AS 별칭

6. 연결 연산자 || 

- 각 열에 따로 담겨 있는 데이터 값을 하나로 붙이거나 추가 수식을 붙여 출력하는 경우

- ' ' 사이에 숫자,문자,특수문자를 넣어서 데이터를 다양하게 표현가능

열이름||열이름

SELECT employee_id, first_name||last_name
FROM employees;
열이름||'문자'
SELECT employeee_id,
	first_nmae||''||last_name,
    email||'@'||'company.com' //'문자열'
FROM employees;

 

7. 산술 처리하기 

- FROM 절을 제외한 모든 절에서 사용가능

SELECT employee_id AS 사원번호,
	salary AS 급여,
    Salary+500 AS 추가급여,
    (salary*1.1)/2 AS 조정급여
FROM employees;

8. WHERE 조건

- 의 특정 데이터 값 조회하거나 비교하여 연산 처리

- FROM 절 바로 다음에 기술 

- 조건절에 비교연산자, SQL 연산자, 논리 연산자, 열이름, 표현식, 숫자, 문자 가능

- 연산자 우선순위 :  괄호 > 부정 연산 > 비교연산 > SQL 연산 순으로 처리

- 논리 연산자는 NOT , AND , OR순으로 처

 

[비교연산자]

- 숫자는 그냥 처리 , 문자열은  ' '  사용 

 

[SQL연산자 ]

- 두개 이상인 것에 사용

1) BETWEEM A AND B

Q) employees 테이블에서 급여가 10000이상 20000이하인 직원 정보를 출력해라
SELECT *
FROM employees
WHERE salary BETWEEN 10000 AND 20000;

 

2) IN(list)

-  = 연산자는 조회조건으로 데이터 값을 한개만 지정 가능하지만 IN은 리스트로 여러 값 가능

- 여러 개의 값 목록 중에서 하나의 값이라도 만족하면 조건에 해당하는 결과를 출력

Q)  employees 테이블에서 급여서 10000,17000,20000 직원 정보를 출력해라
SELECT *
FROM employees
WHERE salary IN (1000,17000,20000);

 

3) LIKE `비교문자`

- 조회 조건 값이 명확하지 않을 때 사용

- '~와 같다'라는 의미

- % : 조건을 포함하는 '모든 문자' 라는의미

-- %ad, %ad% , ad% 등 다양하게 활용 가

- _ : '한글자'라는 의미

Q) employees 테이블에서 job_id 값이 AD를 포함하는 모든(%) 데이터를 조회해라
SELECT *
FROM employees
WHERE job_id LIKE 'AD%'; // AD라는 문자 값을 가지면서 그 뒤에 모든 문자를 포함하는 데이터
// job_id에서 AD~는 모두 출력
SELECT *
FROM employees
WHERE job_id LIKE 'AD___'; //_가 3개 즉, AD뒤에 따라오는 문자열이 3자리인 데이터

 

 

4) IS NULL 

- 데이터 값이 NULL 인 경우를 조회하고자

- NULL은 0이나 공백과는 다름 ( 0은 숫자, 공백은 문자 값)

 

Q) employees 테이블에서 manager_id가 null 값인 직원 정보를 출력해라
SELECT *
FROM employees
WHERE manger_id IS NULL;

 

[논리연산자]

AND : 둘 다 만족 

OR : 둘 중 하나라도 만족 

NOT :  부정 

728x90
반응형
LIST

'SQL' 카테고리의 다른 글

DDL : 테이블 내용 추가,수정,삭제  (0) 2023.12.19
DDL : 테이블 구조 생성,수정,삭제  (0) 2023.12.19
서브쿼리  (0) 2023.12.19
데이터베이스 개체 설계도  (0) 2023.10.19
함수  (0) 2023.10.19