내일배움캠프 Spring 3일차 TIL

Skadi·2023년 12월 26일
0

1. 데이터베이스란?

1. 데이터가 저장되어있는 큰 폴더이다
2. 데이터베이스라는 큰 폴더 아래 테이블 이라는 파일이 존재한다

2. 테이블 구조

1. 테이블은 엑셀 파일과 같이 생겼다.
2. 각 열을 ‘컬럼’ 혹은 ‘필드’ 라고 부른다

3. 데이터 조회 구문

1. `select` : 데이터를 조회하기 위한 기본 명령어
2. `from` : 데이터를 가져올 위치를 지정하는 명령어
3. `as` : 조회한 데이터의 이름을 별명으로 나타나게 할 때 사용한다.
    1. 영문, 언더바 : 별명만 적음
    2. 특수문자, 한글 : “별명”으로 작성
4. `where` : 조건을 지정함
    1. 숫자를 지정할때는 숫자만 입력
    2. 문자를 지정할때는 ‘문자’로 입력

4. 조건 연산자

1. `and` : 조건을 여러 개 사용 할 수 있도록 연결한다 | 모든 조건을 만족해야한다
2. `OR` : 조건을 여러 개 사용 할 수 있도록 연결한다 | 하나의 조건만 만족하면 된다.
3. `NOT` : 조건에 해당하지 않는것을 나타낸다
4. **`IN` 연산자:**
    - **`IN`** 연산자는 주어진 값 목록 중 하나와 일치하는 결과를 반환합니다.
    - 예를 들어, 특정 컬럼의 값이 주어진 값 목록 중 하나와 일치하는지 확인할 때 사용합니다.
    
    ```sql
    SELECT * FROM 테이블 WHERE 컬럼 IN (값1, 값2, 값3, ...);
    ```
    

5. BETWEEN 연산자

    - **`BETWEEN`** 연산자는 주어진 범위 내에 있는 결과를 반환합니다.
    - 주로 숫자나 날짜와 같은 데이터 유형에서 사용됩니다.
    
    ```sql
    SELECT * FROM 테이블 WHERE 컬럼 BETWEEN 값1 AND 값2;
    ```
    

6. LIKE 연산자

    - **`LIKE`** 연산자는 패턴 매칭을 사용하여 특정 문자열과 일치하는 결과를 반환합니다.
    - **`%`**는 임의의 문자열을 나타내고, **`_`**는 임의의 하나의 문자를 나타냅니다.
    
    ```sql
    SELECT * FROM 테이블 WHERE 컬럼 LIKE '패턴';
    ```
    
    예를 들어, "A%"는 "A"로 시작하는 모든 문자열을 나타내며, "%B%"는 "B"를 포함하는 모든 문자열을 나타냅니다.
    

7. 산술 연산자

1. **더하기 (`+`):**
    - 두 숫자를 더합니다.
    
    ```sql
    SELECT 컬럼1 + 컬럼2 AS 결과 FROM 테이블;
    ```
    
2. **빼기 (`-`):**
    - 두 숫자를 뺍니다.
    
    ```sql
    SELECT 컬럼1 - 컬럼2 AS 결과 FROM 테이블;
    ```
    
3. **곱하기 (`*`):**
    - 두 숫자를 곱합니다.
    
    ```sql
    SELECT 컬럼1 * 컬럼2 AS 결과 FROM 테이블;
    ```
    
4. **나누기 (`/`):**
    - 첫 번째 숫자를 두 번째 숫자로 나눕니다.
    
    ```sql
    SELECT 컬럼1 / 컬럼2 AS 결과 FROM 테이블;
    ```
    
5. **나머지 (`%`):**
    - 첫 번째 숫자를 두 번째 숫자로 나눈 후의 나머지를 반환합니다.
    
    ```sql
    SELECT 컬럼1 % 컬럼2 AS 나머지 FROM 테이블;
    ```
    

8. 집계 연산자

1. **`SUM` 함수:**
    - 주어진 열의 모든 값의 합을 계산합니다.
    
    ```sql
    SELECT SUM(컬럼) AS 총합 FROM 테이블;
    ```
    
2. **`AVG` 함수:**
    - 주어진 열의 모든 값의 평균을 계산합니다.
    
    ```sql
    SELECT AVG(컬럼) AS 평균 FROM 테이블;
    ```
    
3. **`COUNT` 함수:**
    - 주어진 열의 행 수를 계산합니다.
    
    ```sql
    SELECT COUNT(컬럼) AS 행의수 FROM 테이블;
    ```
    
4. **`MIN` 함수:**
    - 주어진 열의 최솟값을 찾습니다.
    
    ```sql
    SELECT MIN(컬럼) AS 최솟값 FROM 테이블;
    ```
    
5. **`MAX` 함수:**
    - 주어진 열의 최댓값을 찾습니다.
    
    ```sql
    SELECT MAX(컬럼) AS 최댓값 FROM 테이블;
    ```
    
6. **`GROUP BY` 구문:**
    - 특정 열을 기준으로 데이터를 그룹화하여 그룹 내에서 집계 함수를 사용할 수 있습니다.
    
    ```sql
    SELECT 컬럼, COUNT(*) AS 행의수 FROM 테이블 GROUP BY 컬럼;
    ```
    

9. 정렬 연산자

1. **`ORDER BY`** 구문은 SQL 쿼리에서 결과 집합을 정렬하는 데 사용됩니다. 정렬은 특정 열의 값에 따라 결과를 오름차순(기본값)이나 내림차순으로 표시할 수 있습니다.
다음은 **`ORDER BY`** 구문을 사용한 간단한 예시입니다:
2. **오름차순 정렬:**
    - **`ORDER BY`** 다음에 정렬하려는 열을 명시하고, 기본적으로는 오름차순으로 정렬됩니다.
    
    ```sql
    SELECT * FROM 테이블 ORDER BY 열명;
    ```
    
3. **내림차순 정렬:**
    - 열명 뒤에 **`DESC`** 키워드를 추가하여 내림차순으로 정렬할 수 있습니다.
    
    ```sql
    SELECT * FROM 테이블 ORDER BY 열명 DESC;
    ```
    
4. **여러 열로 정렬:**
    - 여러 열을 기준으로 정렬하려면 열들을 쉼표로 구분하여 나열합니다.
    
    ```sql
    SELECT * FROM 테이블 ORDER BY 열1, 열2;
    ```
    
5. **NULL 값 처리:**
    - **`ORDER BY`**를 사용할 때 NULL 값을 어떻게 처리할지를 설정할 수 있습니다.
        - **`ORDER BY 열명 NULLS FIRST`**: NULL 값을 가장 먼저 표시
        - **`ORDER BY 열명 NULLS LAST`**: NULL 값을 가장 나중에 표시
    
    ```sql
    SELECT * FROM 테이블 ORDER BY 열명 NULLS FIRST;
    ```
    

**`ORDER BY`**는 정렬된 결과를 요구하는 많은 상황에서 사용되며, 데이터를 정렬하여 더 유용한 정보를 얻을 수 있도록 도와줍니다.

10. 문자열 연산자

1. **`REPLACE` 함수:**
    - **`REPLACE`** 함수는 문자열에서 특정 문자나 문자열을 다른 문자나 문자열로 대체합니다.
    
    ```sql
    SELECT REPLACE(원본문자열, 찾을문자열, 대체문자열) AS 결과 FROM 테이블;
    ```
    
    예를 들어:
    
    ```sql
    SELECT REPLACE('안녕하세요', '안녕', 'Hello') AS 결과;
    ```
    
    결과: **`Hello하세요`**
    
2. **`SUBSTRING` 함수:**
    - **`SUBSTRING`** 함수는 문자열의 일부분을 추출합니다. 시작 위치와 길이를 지정할 수 있습니다.
    - `substr` 도 같은 결과를 나타냄
    
    ```sql
    SELECT SUBSTRING(원본문자열, 시작위치, 길이) AS 결과 FROM 테이블;
    ```
    
    예를 들어:
    
    ```sql
    SELECT SUBSTRING('안녕하세요', 1, 2) AS 결과;
    ```
    
    결과: **`안녕`**
    
3. **`CONCAT` 함수:**
    - **`CONCAT`** 함수는 여러 문자열을 결합합니다.
    
    ```sql
    SELECT CONCAT(문자열1, 문자열2, ...) AS 결과 FROM 테이블;
    ```
    
    예를 들어:
    
    ```sql
    SELECT CONCAT('안녕', '하세요') AS 결과;
    ```
    
    결과: **`안녕하세요`**
    
  • 강의에서는 DBeaver를 사용했지만 mysql을 사용하는 것으로 보이기 때문에 mysql workbench를

사용하도록 하겠음

  • DBeaver와 다르게 처음 시작할 때 use 테이블명 을 입력해야함

오늘의 소감

  • SQL문도 사용하던 함수만 사용해서 잊어버린 함수도 있었는데 다시한번 정리하는데 도움이 되었다.

0개의 댓글