[DB] SQL 기본 : 데이터 조회(1)

나무나무·2025년 1월 4일

DB

목록 보기
3/9

SELET

테이블에서 원하는 정보를 추출할 때 사용하는 구문

예제코드 ▼

SELECT emp_nop, name, address
FROM employees; 

-- Column 마다 별명 달기(Alias)
-- 별칭에 공백, 특수문자가 있는 경우 따옴표로 감싸기
SELECT userID AS '아이디',
		  `name` '이_름',
		   addr 주소
FROM usertbl;

-- 중복 값 제거 구문
-- 주소가 동일한 애들은 한 번만 표시하도록
SELECT DISTINCT address
FROM employees;

-- 출력 개수 제한
SELECT *
FROM employees
LIMIT 10;

-- Column에서 산술 연산도 가능함
SELECT emp_name 이름, salary AS 급여, salary * 12 AS 월급
FROM employee;

-- 위의 케이스는 아래와 같이 수정해서 사용(ISNULL(col, 변경할 값))
SELECT emp_name 이름, 
			 salary AS 급여, 
	     salary * 12 AS '연봉', 
	     (((salary * ISNULL(bonus, 0) + salary) * 12) AS '보너스 포함 연봉'
FROM employee;

WHERE

테이블에서 조건을 설정해서 데이터를 검색할 때 사용하는 구문

예제코드 ▼

SELECT *
FROM usertbl
WHERE height >= 174;

-- mobile1 값이 null 인경우
SELECT *
FROM usertbl
WHERE mobile1 IS NULL;

-- NULL 값은 비교 연산자를 이용한 비교가 불가능함.
SELECT *
FROM usertbl
WHERE mobile1 IS NOT NULL;

-- 날짜는 작은 따옴표로 감싸주면 됨
SELECT * 
FROM usertbl
WHERE mDATE <= '2010-10-10';

-- between 연산자 사용
USE test_db;
SELECT *
FROM usertbl
WHERE height BETWEEN 170 AND 182
ORDER BY height DESC;

-- LIKE 연산자
-- % : 0글자 이상 / _ : 뭐가 됐든 1글자만 오면 됨
SELECT *
FROM usertbl
WHERE addr LIKE "서%" ;
-- WHERE `name` LIKE '김__';
-- WHERE userID LIKE '%S%';

ORDER BY

테이블에서 조회된 데이터를 정렬할 때 사용하는 구문

SELECT userID AS '아이디',
		 NAME AS '이름',
		 mDate AS '날짜'
FROM usertbl
ORDER BY mDate DESC;

-- 가입일이 가장 늦은 회원 3명의 모든 데이터 출력
SELECT *
FROM usertbl
ORDER BY mDate DESC
LIMIT 3;

-- 주소 오름차순 정렬, 단 주소가 일치하는 경우 mDate로 내림차순 정렬
SELECT userID AS '아이디', 
		 NAME AS '이름' ,
		 addr AS '주소' ,
		 mDate AS '날짜'
FROM usertbl
ORDER BY addr, mDate DESC;

SELECT userID AS '아이디', 
		 NAME AS '이름', 
		 mDate AS '가입일'
FROM usertbl
ORDER BY NAME DESC;
ORDER BY 2 DESC;
-- 숫자는 열의 순번, -> 두 번째 열을 기준으로 정렬하겠다-
ORDER BY `이름` DESC; 
-- 별칭으로 정렬하겠다(백틱 기호 사용)

profile
백엔드 개발자 나무입니다

0개의 댓글