728x90

 

SQL 명령어에 대해 소개해보려고 한다. 자주 사용하는 명령어 위주로 설명하고 이후에는 코테문제에서 사용했던 명령어들을 설명하려고 한다.

 

데이터

다음은 user 테이블의 데이터이다.

id name age email
1 John 28 John@example.com
2 Jane 32 Jane@example.com
3 Bob 24 Bob@example.com
4 Alice 29 Alice@example.com
5 Tom 31 Tom@example.com
6 Lucy 22 Lucy@example.com
7 Mark 35 Mark@example.com
8 Ana 25 Ana@example.com
9 Yun 28 Yun@example.com

 

명령어

명령어와 명령어에 대한 간단한 설명이다.

키워드 설명
SELECT 하나 이상의 컬럼의 데이터를 조회
FROM 데이터 조회의 대상이 되는 테이블을 지정
WHERE 특정 조건건을 만족하는 데이터만을 필터링하여 조회
INSERT INTO 테이블에 새로운 데이터 행을 추가
UPDATE 기존 테이블의 데이터를 수정
DELETE 테이블에서 데이터를 삭제
JOIN 두 개 이상의 테이블을 연결하여 데이터를 조회
GROUP BY 선택된 컬럼을 기준으로 결과 세트를 그룹화
ORDER BY 결과 세트를 특정 컬럼에 따라 정렬
CREATE TABLE 새 테이블을 생성
ALTER TABLE 기존의 테이블 구조를 변경
DROP TABLE 테이블을 데이터베이스에서 제거
LIKE 특정 패턴을 포함하는 데이터를 검색할 때 사용
ASC 특정 데이터를 오름차순으로 정렬
DESC 특정 데이터를 내림차순으로 정렬

 

예시

각각의 명령어(키워드)에 대한 코드, 설명과 예상결과다.

아래는 `users` 테이블을 이용해 각 SQL 키워드의 사용 예시, 그리고 각 예시에 대한 설명과 예상되는 결과를 구체적으로 설명한다.

 

1. SELECT

  • 형식 : SELECT 컬럼1, 컬럼2, ... FROM 테이블명;
SELECT name, age FROM users;

 

  • 설명: 하나 이상의 컬럼의 데이터를 조회합니다.
  • 예상 결과: 모든 사용자의 이름과 나이가 출력됩니다.

 

2. FROM

  • 형식 : SELECT 컬럼1, 컬럼2, ... FROM 테이블명;
SELECT age FROM users;
  • 설명: 데이터 조회의 대상이 되는 테이블을 지정합니다.
  • 예상 결과: users 테이블의 age 행이 출력됩니다.

 

3. WHERE

  • 형식 : SELECT 컬럼들 FROM 테이블명 WHERE 조건;
SELECT * FROM users WHERE age > 30;

 

  • 설명: 특정 조건을 만족하는 데이터만을 필터링하여 조회합니다.
  • 예상 결과: 나이가 30세를 초과하는 모든 사용자의 정보가 출력됩니다.

 

 

4. INSERT INTO

  • 형식: INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...);
INSERT INTO users VALUES (11, 'Eva', 27, 'eva@example.com');
  • 설명: 테이블에 새로운 데이터 행을 추가합니다.
  • 예상 결과: users 테이블에 새로운 사용자 Eva (27세, eva@example.com)가 추가됩니다.

 

5. UPDATE

  • 형식: UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;
UPDATE users SET age = 33 WHERE id = 2;
  • 설명: 기존 테이블의 데이터를 수정합니다.
  • 예상 결과: 사용자 Jane의 나이가 33세로 업데이트됩니다.

 

6. DELETE

  • 형식: DELETE FROM 테이블명 WHERE 조건;
DELETE FROM users WHERE id = 10;

 

  • 설명: 테이블에서 데이터를 삭제합니다.
  • 예상 결과: 사용자 Sara가 users 테이블에서 삭제됩니다.

 

 

7. JOIN

  • 형식: SELECT 컬럼들 FROM 테이블1 JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼;
SELECT users.name, orders.order_date FROM users JOIN orders ON users.id = orders.user_id;
  • 설명: 두 개 이상의 테이블을 연결하여 데이터를 조회합니다.
  • 예상 결과: 사용자의 이름과 그들의 주문 날짜가 출력됩니다.

 

8. GROUP BY

 

  • 형식: SELECT 컬럼1, 집계함수(컬럼2) FROM 테이블명 GROUP BY 컬럼1;

 

SELECT age, COUNT(*) FROM users GROUP BY age;
  • 설명: 선택된 컬럼을 기준으로 결과 세트를 그룹화합니다.
  • 예상 결과: 각 연령대별 사용자 수가 출력됩니다.

 

9. ORDER BY

  • 형식: SELECT 컬럼들 FROM 테이블명 ORDER BY 컬럼 ASC|DESC(내림차순| 오름차순);
SELECT name, age FROM users ORDER BY name ASC;
  • 설명: 결과 세트를 특정 컬럼에 따라 정렬합니다.
  • 예상 결과: 사용자 이름을 알파벳 순으로 정렬하여 출력합니다.

 

10. CREATE TABLE

  • 형식: CREATE TABLE 테이블명 (컬럼1 타입, 컬럼2 타입, ...);
CREATE TABLE new_users (id INT, name VARCHAR(100), age INT, email VARCHAR(255));
  • 설명: 새 테이블을 생성합니다.
  • 예상 결과: new_users라는 새로운 테이블이 생성됩니다.

 

11. ALTER TABLE

  • 형식: ALTER TABLE 테이블명 ADD|MODIFY 컬럼 타입;
ALTER TABLE users ADD column VARCHAR(255);
  • 설명: 기존의 테이블 구조를 변경합니다.
  • 예상 결과: users 테이블에 새로운 열 column이 추가됩니다.

 

12. DROP TABLE

  • 형식: DROP TABLE 테이블명;
DROP TABLE new_users;
  • 설명: 테이블을 데이터베이스에서 제거합니다.
  • 예상 결과: new_users 테이블이 데이터베이스에서 제거됩니다.

 

13. LIKE

  • 형식: SELECT 컬럼들 FROM 테이블명 WHERE 컬럼 LIKE '패턴';
SELECT name, email FROM users WHERE email LIKE '%example.com';
  • 설명: 특정 패턴을 포함하는 데이터를 검색할 때 사용합니다.
  • 예상 결과: "example.com"을 도메인으로 가지는 이메일 주소를 가진 모든 사용자의 이름과 이메일이 출력됩니다.

 

+ 추후 추가 예정

728x90