[데이터 베이스]2. SELECT 기본

손영민's avatar
Mar 09, 2025
[데이터 베이스]2. SELECT 기본

1.용어 정리

  • select (프로젝션 도구) - 데이터베이스에서 특정 열이나 행을 선택하는 SQL 명령어.
  • from (하드디스크의 테이블을 메모리로 퍼올리는 것) - 데이터를 가져올 테이블을 지정하는 SQL 절.
  • where (행 고르기- 하드디스크에서 연산됨) - 조건에 맞는 행을 선택하는 SQL 절.
  • projection (특정한 열만 선택하는 것) - 데이터에서 필요한 열만 선택하는 과정.
  • table (전체 껍데기) 릴레이션 엔티티 - 데이터베이스에서 데이터를 저장하는 기본 구조.
  • column (칼럼 제목) - 테이블에서 특정 속성을 나타내는 세로 방향의 필드.
  • row (행) = record (레코드) 튜플 - 테이블에서 하나의 데이터 항목을 나타내는 가로 방향의 데이터 집합.
  • cursor (커서) - 데이터베이스에서 특정 행을 가리키는 포인터.
  • full scan (전체 스캔) - 테이블의 모든 행을 검사하여 데이터를 찾는 방법.
  • constraint (칼럼 - 제약) - 데이터의 무결성을 유지하기 위한 조건이나 규칙.
  • unique (유일하다) - 특정 칼럼의 값이 중복되지 않도록 하는 제약 조건.
  • index (인덱스) → random access (무작위 접근) - 데이터를 빠르게 조회하기 위한 구조로, 특정 칼럼에 대한 빠른 검색을 가능하게 함.
  • schema (테이블 구조) - desc 데이터베이스의 구조와 구성 요소를 정의하는 청사진.
 
 
 
notion image
 

2. select 문법 기본

  1. 기본 select
notion image
2 . 상세 보기
notion image
3 . 별칭주기
notion image
4 . 중복제거
notion image
5 .연결연산자
 
notion image
 
6. 연산자
-- 6. 연산자 select ename, sal*12 from emp; select ename, concat(sal*12 + ifnull(comm,0), "$") "연봉" from emp;
notion image
 
 
 
7.원하는 행찾기
-- 7.원하는 행찾기 select * from emp where ename ='SMITH'; select * from emp where hiredate = "1980-12-17"; select * from emp where hiredate = "1980/12/17"; select * from emp where sal > 2000; select * from emp where comm is not null;
 
 
 
 
 
8. 복잡한 where
-- 8. 복잡한 where select * from emp where sal = 800 and deptno = 20; select * from emp where sal = 800 or sal = 1600; select * from emp where sal in (800, 1600); select * from emp where sal between 800 and 3000;
notion image
 
9.LIKE 연산자
-- 9. LIKE 연산자 select ename from emp where ename like 'S%'; select ename from emp where ename like '%M%'; select ename from emp where ename like '_M%'; select ename from emp where ename like '___T%';
 
notion image
notion image
 
10.정규 표현식 - 어떤 문자열에서 특수한 규칙을 찾아야할때
 
 
 
 
-- 1 기본 select select * from emp; -- 2. 상세보기 desc emp; -- 3. 별칭주기 select empno as '사원번호' from emp; select ename as "이름" from emp; -- 4. 중복제거 {1,2,3,4} -> 서로다른 select distinct job from emp; -- 5. 연결연산자 select concat(ename, '의 직업은', job) "직원소개" from emp; -- 6. 연산자 select ename, sal*12 from emp; select ename, concat(sal*12 + ifnull(comm,0), "$") "연봉" from emp; -- 7.원하는 행찾기 select * from emp where ename ='SMITH'; select * from emp where hiredate = "1980-12-17"; select * from emp where hiredate = "1980/12/17"; select * from emp where sal > 2000; select * from emp where comm is not null; -- 8. 복잡한 where select * from emp where sal = 800 and deptno = 20; select * from emp where sal = 800 or sal = 1600; select * from emp where sal in (800, 1600); select * from emp where sal between 800 and 3000; -- 9. LIKE 연산자 %, _ select ename from emp where ename like 'S%'; select ename from emp where ename like '%M%'; select ename from emp where ename like '_M%'; select ename from emp where ename like '___T%'; -- 10.정규 표현식 - 어떤 문자열에서 특수한 규칙을 찾아야할때 select * from professor where name regexp '조|형'; select * from professor WHERE email REGEXP '^[^@]+@[^@]+\.net$'; SELECT 'Password1!' REGEXP '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_]).{8,}$' AS is_valid from dual;
 
Share article

sson17