코딩일상

[SQL] SQL명령어 정리(공부한 것 정리 중) 본문

개발 공부

[SQL] SQL명령어 정리(공부한 것 정리 중)

solutionMan 2023. 1. 3. 22:40
반응형

 

가장 중요한 SQL 명령어 들 

  • SELECT- 데이터베이스에서 데이터 추출
  • UPDATE- 데이터베이스의 데이터 업데이트
  • DELETE- 데이터베이스에서 데이터를 삭제합니다.
  • INSERT INTO- 새로운 데이터를 데이터베이스에 삽입
  • CREATE DATABASE- 새로운 데이터베이스 생성
  • ALTER DATABASE- 데이터베이스 수정
  • CREATE TABLE- 새로운 테이블 생성
  • ALTER TABLE- 테이블 수정
  • DROP TABLE- 테이블 삭제
  • CREATE INDEX- 색인 생성(검색 키)
  • DROP INDEX- 색인을 삭제합니다.

SELECT 구문(데이터 조회)

SELECT * FROM Customers;

 

SELECT column1, column2, ...
FROM table_name;


SELECT CustomerName, City FROM Customers;

SELECT DISTINCT(고유한 값만 조회 = 중복된 값 제외)

중복된값들 제외 고유한값들만 가져오고싶을때

SELECT DISTINCT Country FROM Customers;

SELECT COUNT(조회 한 데이터의 갯수 파악)

중복된값들 제외 고유한값들의 갯수를 가져오고 싶을때

SELECT COUNT(DISTINCT Country) FROM Customers;

SELECT WHERE(조건에 일치하는 데이터들만 조회)

 

조건에 해당하는 값들만 가져오고 싶을때

SELECT * FROM Customers
WHERE Country='Mexico';


WHERE 절의 연산자

= 동등한 Try it
> 더 큰 Try it
< 더 작은 Try it
>= 더 크거나 같음 Try it
<= 더 작거나 같음 Try it
<> 동일하지 않습니다. (참고: SQL의 일부 버전에서는 이 연산자를 !=로 쓸 수 있습니다.) Try it
BETWEEN 사이의 값 Try it
LIKE 일부 포함 Try it
IN 다수의 조건을 포함    Try it

SQL AND, OR 및 NOT 연산자

절 은 , 및 연산자 WHERE와 결합할 수 있습니다 . AND, OR , NOT

AND및 OR연산자는 둘 이상의 조건을 기반으로 레코드를 필터링하는 데 사용됩니다 .

  • AND 연산자 는 로 구분된 모든 조건 이 TRUE인 경우 레코드를 표시 합니다. 
  • OR 연산자 는 로 구분된 조건 중 하나라도 TRUE이면 레코드를 표시합니다.

 NOT 연산자는 조건 이TRUE가 아닌 경우 레코드를 표시합니다.

NOT구문 예제

country가 Germany가 아닌 조건의 데이터들만 나온다


SQL ORDER BY

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용할 수있다.

ASC: 오름차순(default)

DESC: 내림차순

 

country  칼럼을 기준으로 오름차순으로 진행된다.(A to Z)

정렬의 이중화 적용방법
country를 우선적으로 오름차순 정렬후 정렬된 country안에서 PostalCode를 기준으로 오름차순으로 정렬된다.


SQL INSERT INTO

INSERT INTO 명령문은 테이블에 새 데이터를 삽입하는 데 사용

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

두 가지 방법을통해 INSERT INTO을 사용할 수있다.

 

1. 삽입할 칼럼의 갯수와 들어갈 값을 지정하여 삽입하는 방법

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

* column의 갯수 == values의 갯수(추가: 칼럼의 순서와 들어갈 값의 순서가 일치해야한다)

 

예시)

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

 

2. 모든 칼럼에 대해 데이터를 입력하여 삽입하는 방법

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

*값의 순서가 column의 순서가 같아야한다.

 

예시)

INSERT INTO Customers 
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

//Customers 테이블에 존재하는 전체 칼럼들
//(CustomerName, ContactName, Address, City, PostalCode, Country)

SQL 에서 NULL이란??


1)테이블의 필드가 선택 사항인 경우 이 필드에 값을 추가하지 않았을 경우 필드가 NULL 값으로 저장됩니다.

(그냥 비어있는 필드이다.)

2)=, < 또는 <>와 같은 비교 연산자를 사용하여 NULL 값을 테스트할 수 없습니다.

 

IS NULL 구문

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

column_name칼럼에 있는 값중에 null인 경우의 값들만 조회하겠다.

IS NOT NULL 구문

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

column_name칼럼에 있는 값중에 null이 아닌 경우의 값들만 조회하겠다.


SQL SELECT LIMIT

반환할 레코드 수를 지정하는 데 사용

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

 

예시)

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;


SQL MIN() and MAX() (최솟값 최댓값 가져오기)

 

MIN() Syntax

SELECT MIN(column_name)
FROM table_name
WHERE condition;

MAX() Syntax

SELECT MAX(column_name)
FROM table_name
WHERE condition;

예시) MAX() 최댓값


 

 

 

 

 

 

 

참고사이트

 

SQL Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

반응형
Comments