५✍/SQLD

[SQLD] SQL - DML

defyuil 2023. 8. 30. 15:21

SQL (🡨 SEQUEL) (🡨 Structured Query Language)

- 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용하는 언어

- 표준 SQL: ISO의 표준 규격을 따르는 SQL

- SQL 기본 작성 규칙

  • 문장 마지막은 세미콜론(;)으로 끝남
  • 명령어, 객체명, 변수명은 대/소문자 구분이 없음
  • 데이터 값은 대/소문자를 구분함
  • 날짜와 문자열에는 작은 따옴표를 사용
  • 단어와 단어 사이는 공백 또는 줄바꿈으로 구분

 

  • 주석문
-- 이것은 주석입니다
/* 여기부터
여기까지 주석입니다 */

 

 

 

SELECT

- 테이블에 존재하는 레코드의 값을 조회

- SELECT [ALL/DISTINCT] 칼럼1, 칼럼2, ... FROM 테이블명

  • ALL: 중복 데이터 모두 출력
  • DISTINCT: 중복 데이터를 1건으로 출력
  • DISTINCT 키워드는 첫 칼럼의 앞에 위치해야 함
  • 칼럼의 조합에 대해 중복 체크
  • NULL 값도 하나의 값으로 간주함
SELECT PLAYER_ID, PLAYER_NAME, TEAM_ID,
POSITION
FROM PLAYER;
SELECT POSITION
FROM PLAYER;
SELECT DISTINCT
POSITION
FROM PLAYER;

 

- SELECT * FROM 테이블명;

해당 테이블의 모든 칼럼값 조회

 

- 조회 결과에 일종의 별칭(ALIAS)을 부여하여 칼럼 레이블을 변경함

- 칼럼병과 별칭 사이에 AS키워드를 사용

- 별칭이 공백, 특수문자 등을 포함하는 경우 큰 따옴표 사용

 

 

ORDER BY

- 출력시 정렬 기준 설정

- SQK문장의 맨 마지막의 위치

- 오름차순: ASC(생략 가능), 내림차순: DESC

참고) ORACLE에서 NULL은 가장 큰 값으로 취금됨

- 예) 선수명과 키를 키 오름차순으로 출력

 

 

 

WHERE 절

- 특정 조건을 만족하는 데이터를 한정하기 위해 사용

- SELECT ~FROM ~WHERE ~형태로 사용함

 

 

WHERE 연산자

 

 

 

우선순위

 

 

 

산술연산자

- NYMBER와 DATE 자료형에 대해 적용

- * / + -

 

 

 

비교연산자

- =, <>, >=, >, <=, <

- 모든 자료형 대해 적용

- 문자열의 크기 비교는 사전 순으로 수행됨

- 예: '01' < '02' < '1' < '11' < '2'

- NULL에는 비교 연산자 사용 불가

 

 

 

 

논리연산자

- 모든 자료형에 대해 적용

- NOT, AND, OR(우선순위: NOT > AND > OR)

1. 포지션이 골키퍼가 아니면서 키가 180보다 크다

2. 포지션이 골키퍼가 아니거 키가 180보다 크면 된다

3. NOT(포지션='골키퍼')AND->OR로 바뀜 NOT(키>180)

 

 

 

 

- 합성(연결) 연산자 - 문자여로가 문자열을 연결함

방법1: CONCAT(str1, str2)

방법2: str1 || str2

 

 

 

 

BETWEEN, NOT BETWEEN

 

 

IN, NOT IN

 

 

LIKE