TIL - SQL Basics
SQL Basics
SQL에서 사용하는 기본 쿼리문은 다음과 같다.
(** 많은데 사실..)
https://www.w3schools.com/sql/default.asp
여기서 찾아보고 하면 장땡이다
여튼... 쿼리문은 이렇게 되어 있다.
Select
Where
And, Or, Not
Order By
Insert Into
Null Values
Update
Delete
Count
Like
Wildcards
Aliases
Joins
- Inner Join
- Left Join
- Right Join
Group By
#데이터베이스 관련 용어
SQL Create DB
SQL Drop DB
SQL Create Table
SQL Drop Table
SQL Alter Table
SQL Not Null
SQL Unique
SQL Primary Key
SQL Foreign Key
SQL Default
SQL Auto Increment
SQL Dates
데이터베이스 관련 명령어
데이터베이스 생성
CREATE DATABASE 데이터베이스_이름;
#ex
CREATE DATABASE databaseThing
데이터베이스 사용
USE 데이터베이스_이름;
#ex
USE databaseThing
테이블 생성
앞서 데이터베이스를 만들고 사용하는 쿼리문을 입력했다면 테이블을 만들 수 있다.
user
라는 테이블을 만들기
테이블은 필드와 함께 만들어야 한다.
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(255),
email varchar(255)
);
SQL 콘솔에서 enter 키를 이용해 여러 줄의 코드를 입력할 수 있다.
테이블 정보 확인
DESCRIBE user;
혹은
desc user;
mysql> describe user;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
SQL 명령어
SELECT
SELECT는 데이터 셋에 포함될 특성을 특정한다.
SELECT 'hello world' #일반 문자열
SELECT 2 #숫자
SELECT 15+3 #연산
FROM
테이블과 관련한 작업을 할 경우 반드시 입력해야 한다. FROM뒤에는 결과를 도출해낼 데이터베이스 테이블을 명시한다.
# 1가지 특성을 테이블에서 사용
SELECT 특성_1
FROM 테이블_이름
# 2가지의 특성을 테이블에서 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
# 테이블의 모든 특성을 선택
SELECT *
FROM 테이블_이름
WHERE
필터 역할을 하는 쿼리문으로 WHERE는 선택적으로 사용할 수 있다.
# 특정 값과 동일한 데이터 찾기
SELECT 특성_1, 특성_2
FROM 테이블이름
WHERE 특성_1 = "특정값"
# 특정 값을 제외한 값을 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 <> "특정 값"
# 특정 값보다 크거나 작은 데이터를 필터할 때에는 '<', '>',
# 비교하는 값을 포함하는 '이상', '이하' 값은 '<=', '>=' 을 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 > "특정 값"
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 <= "특정 값"
# 문자열에서 특정 값과 비슷한 값을 필터링 할때 LIKE + '%' or '*'
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "%특정 문자열%"
# 리스트의 값들과 일치하는 데이터를 필터할때 IN 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 IN ("특정값_1", "특정값_2")
# 값이 없는 경우 'NULL'을 찾을 때 'IS'와 같이 사용
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL
#위에꺼의 반대
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL
ORDER BY
돌려받는 데이터 결과를 어떤 기준으로 정렬하여 출력할지 결정하는 구문, 선택적으로 사용할 수 있다 .
# 오름차순
SELECT *
FROM 테이블_이름
ORDER BY 특성_1
#내림차순
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
LIMIT
결과로 출력하 데이터 갯수를 정할 수 있고, 선택적으로 사용가능하다
SELECT *
FROM 테이블_이름
LIMIT 200
DISTINCT
유니크한 값을 받고 싶을 때에는 SELECT DISTINCT를 사용한다.
# 특성_1을 기준으로 유니크한 값들만 선택할 경우
SELECT DISTINCT 특성_1
FROM 테이블_이름
#특성_1,특성_2,특성_3의 유니크한 '조합' 값들을 선택할 경우
SELECT
DISTINCT
특성_1
,특성_2
,특성_3
FROM 테이블_이름
INNER JOIN or JOIN
둘 이상의 테이블에서 서로 공통된 부분을 기준으로 연결
SELECT *
FROM 테이블_1
JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
OUTER JOIN
LEFT OUTER JOIN 과 RIGHT OUTER JOIN으로 2가지 선택지를 할 수 있는데
기준되는 테이블에 왼쪽(LEFT OUTER JOIN)에 두고 기준되는 테이블에 있는 특성과 왼쪽에 둔 테이블의 한가지 특성이 같은지 여부를 확인
#LEFT OUTER JOIN
SELECT *
FROM 테이블_1
LEFT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
#RIGHT OUTER JOIN
SELECT *
FROM 테이블_1
RIGHT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
Author And Source
이 문제에 관하여(TIL - SQL Basics), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zniilee/TIL-SQL-Basics저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)