SQL 활용2

SQL의 활용2

    ※ 샘플은 다음과 같은 사이트를 사용하였음

https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all 

 

MySQL Tryit Editor v1.0

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin

www.w3schools.com

 

1. LIKE, NOT LIKE

 - 특정 문자로 시작여부, 끝나는지 여부, 포함하는지 여부를 확인

 - 찾고자하는 문자열을 %기호와 조합해서 사용

    - 'a%' : a로 시작하는 문자열

    - '%a' : a로 끝나는 문자열

    - '%a%' : a를 포함하는 문자열

    ※ 패턴을 위한 와일드카드

        - % : 0개이상의 문자열과 일치

        - [ ] : 1개의 문자와 일치

        - [^] : 1개의 문자불일치

        - _ : 특정 위치의 1개의 문자일치 

# LastName이 D로 시작하는 행만 조회
SELECT * 
FROM Employees
where LastName like 'D%';

 

# LastName이 D로 시작하지 않는 행만 조회
SELECT * 
FROM Employees
where LastName not like 'D%';

 

2. CEIL, ROUND, FLOOR

 - 소수점을 올림, 반올림, 내림

    - CEIL( ) : 올림

    - ROUND( ) : 반올림

    - FLOOR( ) : 내림

# 1.2 반올림
SELECT ROUND(1.2); 
# 1이 출력

 

# Price 컬럼 값들을 반올림
SELECT ROUND(Price)
FROM Products;

 

3. AVG, MAX, MIN, SUM, COUNT 

 - AVG(컬럼) : 컬럼의 모든 행의 평균값

 - MAX(컬럼) : 컬럼의 모든 행중 최대값

 - MIN(컬럼) : 컬럼의 모든 행중 최소값

 - SUM(컬럼) : 컬럼의 모든 행의 평균값

 - COUNT(컬럼) : 컬럼의 모든 행의 개수 (NULL 값은 제외)

# CategoryName 컬럼의 모든 행의 개수
SELECT count(CategoryName)
FROM Categories;

 

4. CONCAT(문자1, 문자2, 문자3, ...)

 - 문자열을 이어 붙임

# 문자열을 이어 붙이기
select concat('Hong', ' ','gildong') as name;
# Hong gildong 이 출력됨

 

# LastName과 FirstName을 이어 붙여 FullName이라는 새로운 컬럼으로 생성
SELECT EmployeeId, BirthDate, Photo, Notes, concat(LastName, ' ', FirstName) as FullName 
FROM Employees;

 

5. SUBSTR(대상문자, 시작위치, 자르는 길이)

 - 문자열을 자름

# HongGilDong 을 앞에서 7번째 까지 자름
SELECT SUBSTR('HongGilDong', 1, 7);
# HongGil 까지 출력

 

# BirthDate를 앞에서 4번째 까지 자름 (year로 별명 생성)
SELECT SUBSTR(BirthDate, 1, 4) as `year` 
FROM Employees;

 

6. REPLACE(대상문자(컬럼), 문자열1, 문자열2)

 - 대상 문자(컬럼)에 문자열1인 부분을 찾아 문자열2로 치환

# City 컬럼의 값에서 B문자를 찾아 b로 변경
SELECT replace(city, 'B', 'b')
FROM Customers;

 

7. CURDATE( ), NOW( )

 - 오늘 날짜 구하기

    - CURDATE : 연월일

    - NOW : 연월일 시분초

 

8.  ADDDATE(기준날짜, n), SUBDATE( )

 - 기준날짜로부터 n간격 만큼의 날짜

# 현재 날짜로부터 10일 뒤의 날짜
SELECT ADDDATE('2022-08-24', 10)
# 2022-09-03 출력

 

9. DATEDIFF(날짜1, 날짜2)

- 날짜1과 날짜2의 차이를 구함

SELECT DATEDIFF('2022-03-21', '2021-03-21');
# 365 가 출력

 

10. DISTINCT

- 조회 결과에서 중복되는 행을 제거

# Country 컬럼 중 중복된 값을 제거
SELECT DISTINCT Country
FROM Suppliers;

'Back-End Study > DBMS' 카테고리의 다른 글

SQL JOIN  (0) 2022.08.26
SQL 활용3  (0) 2022.08.25
SQL 활용1  (0) 2022.08.23
연산자  (0) 2022.08.22
제약 조건  (0) 2022.08.19