Notice
Recent Posts
Recent Comments
Link
01-02 05:50
AI 전문가가 되고싶은 사람
[KT 에이블스쿨 기자단] SQL 복습 본문
먼저 간단한 단순 조회!
1. 단순 조회
-- 문자열 출력
SELECT 'aivle';
-- 별칭 사용
SELECT 'aivle' AS KT
-- 숫자 연산 결과 출력
SELECT 10 + 20 As Sum;
-- 함수 결과 출력
SELECT CURDATE() As Today;
-- 변수 값 출력
SET @Today = CURDATE();
SELECT @Today;
조회 대상 열 지정
/*
2. 조회 대상 열 지정
*/
-- 데이터베이스 연결
USE aivle;
-- 현재 데이터베이스 확인
SELECT DATABASE();
-- 1) 모든 열 모든 행 조회
-- 에이블러 정보 조회
SELECT * FROM aivler;
-- ai/dx 정보 조회
SELECT * FROM class;
-- 2) 일부 열 모든 행 조회
-- 원하는 열을 원하는 순서로 나열
SELECT age, name FROM aivler;
SELECT region, number FROM class;
-- 1) 일부 행 모든 열 조회
-- region = busan인 반 정보 조회
SELECT * FROM class WHERE region = 'busan';
/*
4. 비교 연산자
*/
-- 코드마스터스 그랜드마스터인 에이블러 정보 조회
SELECT * FROM aivler WHERE codingmaster = 'yes';
-- 코드마스터스 그랜드마스터가 아닌 에이블러 정보 조회
SELECT * FROM aivler WHERE codingmaster != 'yes';
-- 나이가 25세 이하인 에이블러 정보 조회
SELECT * FROM aivler WHERE age <= '25';
-- 김씨 성을 갖는 에이블러
SELECT * FROM aivler WHERE name LIKE '김%';
-- 이름에 민이 들어간 에이블러
SELECT * FROM aivler WHERE name LIKE '%민%';
-- 이름이 승으로 끝나는 에이블러
SELECT * FROM aivler WHERE name LIKE '%승';
/*
6. 논리 연산자
*/
-- 20명 이상의 에이블러가 수강하고 있는 지역 조회
SELECT region FROM class WHERE number >= 20;
-- 코딩마스터스 그랜드마스터이면서 25세 이상인 에이블러 조회
SELECT name FROM aivler WHERE codingmaster ='yes' and age >= 25;
/*
7. 범위 조건과 리스트 조건
*/
-- 나이가 20~25 사이인 에이블러 정보 조회
SELECT * FROM aivler WHERE age >=20 and age <= 25;
-- 부산, 수도권 지역 정보 조회
SELECT * FROM class WHERE region IN ('busan','sudo');
/*
8.NULL 값 비교
*/
SELECT * FROM class WHERE number IS NULL;
SELECT * FROM class WHERE number IS NOT NULL;
/*
9. IFNULL() 함수
*/
-- IFNULL 함수 사용 전
SELECT id, name, age, codingmaster FROM aivler WHERE codingmaster IS NULL;
* IFNULL 함수와 COALESCE 함수의 차이점
- 문법: IFNULL(expr1, expr2)
- 첫 번째 표현식(expr1)이 NULL이 아니면, expr1의 값이 반환. 그렇지 않으면 두 번째 표현식(expr2)의 값이 반환
- 문법: COALESCE(expr1, expr2, ...)
- 인수 목록 중 첫 번째로 NULL이 아닌 값을 반환. 모든 표현식이 NULL이면 COALESCE는 NULL을 반환.
-- IFNULL 함수 사용: codingmaster 열 값이 NULL이면 unknown으로 표시
SELECT id, name, age, IFNULL(codingmaster,'unknown') AS codingmaster
FROM aivler
WHERE codingmaster IS NULL;
-- COALESCE() 함수 사용
SELECT id, name, age, COALESCE(codingmaster, 'unknown') AS codingmaster
FROM aivler
WHERE codingmaster IS NULL;
/*
9. 자동 형 변환
*/
-- 자동 형 변환
SELECT '10' + '20';
SELECT 10 + '20';
SELECT 10 + '20AX';
SELECT 10 + 'LX20';
- SELECT '10' + '20';
- 두 문자열 '10'과 '20'은 숫자로 자동으로 변환
- 결과는 30
- SELECT 10 + '20';
- 문자열 '20'은 숫자로 자동으로 변환
- 결과는 30
- SELECT 10 + '20AX';
- '20AX'는 숫자로 변환할 수 없는 문자열이므로 변환할 수 있는 부분인 '20'까지만 숫자로 변환
- 따라서 '20'만이 연산에 사용되고 결과는 30
- SELECT 10 + 'LX20';
- 'LX20'은 숫자로 변환할 수 없는 문자열이므로 변환할 수 있는 부분인 '10'까지만 숫자로 변환
- 따라서 '10'만이 연산에 사용되고 결과는 10
-- 문자열 데이터 결합
SELECT CONCAT('10', '20');
SELECT CONCAT(10,'20');
SELECT CONCAT(10,20);
SELECT CONCAT(10,NULL);
- SELECT CONCAT('10', '20');
- 두 문자열 '10'과 '20'을 결합하여 하나의 문자열로 만듦.
- 결과는 '1020'
- SELECT CONCAT(10,'20');
- 숫자 10은 문자열 '10'으로 변환되고, 문자열 '10'과 '20'을 결합하여 하나의 문자열로 만듦 .
- 결과는 '1020'
- SELECT CONCAT(10,20);
- 숫자 10과 20은 각각 문자열 '10'과 '20'으로 변환되고, 문자열 '10'과 '20'을 결합하여 하나의 문자열로 만듦.
- 결과는 '1020'
- SELECT CONCAT(10,NULL);
- 결과는 NULL
이후에 더 올려야겠다.. 여기까지만 해도 힘들다..
'기자단 활동' 카테고리의 다른 글
[KT 에이블스쿨 기자단] 13주차 회고 (0) | 2024.05.20 |
---|---|
[KT 에이블스쿨 기자단] SQL 복습2 (0) | 2024.05.18 |
[KT 에이블스쿨 기자단] 12주차 회고 (2) | 2024.05.15 |
[KT 에이블스쿨 기자단] 11주차 회고 (0) | 2024.05.14 |
[KT 에이블스쿨 기자단] 10주차 회고 (0) | 2024.04.29 |