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 : 부정
'SQL' 카테고리의 다른 글
DDL : 테이블 내용 추가,수정,삭제 (0) | 2023.12.19 |
---|---|
DDL : 테이블 구조 생성,수정,삭제 (0) | 2023.12.19 |
서브쿼리 (0) | 2023.12.19 |
데이터베이스 개체 설계도 (0) | 2023.10.19 |
함수 (0) | 2023.10.19 |