SELECT [DISTINCT] 컬럼 [별칭]
FROM 테이블명
WHERE 조건식;
SELECT 컬럼 FROM 테이블 WHERE 컬럼 BETWEEN A AND B;
SELECT 컬럼 FROM 테이블 WHERE 컬럼 >= A AND 컬럼 <= B;
SELECT studno, name, weight FROM student WHERE weight BETWEEN 50 AND 70;
+--------+--------+--------+
| studno | name | weight |
+--------+--------+--------+
| 10102 | 박미경 | 52 |
| 10105 | 임유진 | 54 |
| 10203 | 하나리 | 68 |
| 10204 | 윤진욱 | 70 |
| 20101 | 이동훈 | 64 |
| 20102 | 박동진 | 70 |
| 20103 | 김진경 | 51 |
| 20104 | 조명훈 | 62 |
+--------+--------+--------+
SELECT studno, name, weight FROM student WHERE weight >= 50 AND weight <= 70;
+--------+--------+--------+
| studno | name | weight |
+--------+--------+--------+
| 10102 | 박미경 | 52 |
| 10105 | 임유진 | 54 |
| 10203 | 하나리 | 68 |
| 10204 | 윤진욱 | 70 |
| 20101 | 이동훈 | 64 |
| 20102 | 박동진 | 70 |
| 20103 | 김진경 | 51 |
| 20104 | 조명훈 | 62 |
+--------+--------+--------+
SELECT 컬럼이름 FROM WHERE 컬럼 IN (A, B, ..., Z);
SELECT 컬럼이름 FROM WHERE 컬럼=A OR 컬럼=B OR ... OR 컬럼=Z;
SELECT name, grade, deptno FROM student WHERE deptno IN (102,201);
+--------+-------+--------+
| name | grade | deptno |
+--------+-------+--------+
| 김진영 | 2 | 102 |
| 오유석 | 4 | 102 |
| 하나리 | 1 | 102 |
| 윤진욱 | 3 | 102 |
| 이동훈 | 1 | 201 |
| 박동진 | 1 | 201 |
| 김진경 | 2 | 201 |
| 조명훈 | 1 | 201 |
+--------+-------+--------+
비교연산자와 OR 연산자를 사용하여
102번 학과와 201번 학과 학생의 이름, 학년, 학과번호 출력
SELECT name, grade, deptno FROM student WHERE deptno=102 OR deptno=201;
+--------+-------+--------+
| name | grade | deptno |
+--------+-------+--------+
| 김진영 | 2 | 102 |
| 오유석 | 4 | 102 |
| 하나리 | 1 | 102 |
| 윤진욱 | 3 | 102 |
| 이동훈 | 1 | 201 |
| 박동진 | 1 | 201 |
| 김진경 | 2 | 201 |
| 조명훈 | 1 | 201 |
+--------+-------+--------+
SELECT 컬럼 FROM 테이블 WHERE 컬럼 LIKE '%검색어%';
% : 임의의 길이인 문자열(길이가 0인 경우도 포함)에 대한 특수 문자로 윈도우에서의 *과 동일한 의미를 갖는다.| LIKE | 설명 |
|---|---|
| '%검색어' | '검색어'로 끝나는 모든 내용 |
| '검색어%' | '검색어'로 시작하는 모든 내용 |
| '%검색어%' | 앞 뒤 구분 없이 '검색어'를 포함하는 모든 내용 |
SELECT name, grade, deptno FROM student WHERE name LIKE '김%';
+--------+-------+--------+
| name | grade | deptno |
+--------+-------+--------+
| 김영균 | 3 | 101 |
| 김진영 | 2 | 102 |
| 김진경 | 2 | 201 |
+--------+-------+--------+
SELECT name, position, comm FROM professor;
+--------+----------+------+
| name | position | comm |
+--------+----------+------+
| 김도훈 | 교수 | 20 |
| 이재우 | 조교수 | NULL |
| 성연희 | 조교수 | 15 |
| 염일웅 | 전임강사 | NULL |
| 권혁일 | 교수 | 25 |
| 이만식 | 부교수 | NULL |
| 전은지 | 전임강사 | NULL |
| 남은혁 | 부교수 | 17 |
+--------+----------+------+
SELECT 컬럼 FROM 테이블 WHERE 컬럼 IS [NOT] NULL;
IS NULL : 컬럼 값 중에 NULL을 포함하는 행을 검색하기 위해 사용IS NOT NULL : NULL을 포함하지 않는 행을 검색하기 위해 사용SELECT name, position, comm FROM professor WHERE comm IS NULL;
+--------+----------+------+
| name | position | comm |
+--------+----------+------+
| 이재우 | 조교수 | NULL |
| 염일웅 | 전임강사 | NULL |
| 이만식 | 부교수 | NULL |
| 전은지 | 전임강사 | NULL |
+--------+----------+------+
SELECT name, sal, comm FROM professor WHERE comm IS NOT NULL;
+--------+-----+------+
| name | sal | comm |
+--------+-----+------+
| 김도훈 | 500 | 20 |
| 성연희 | 360 | 15 |
| 권혁일 | 450 | 25 |
| 남은혁 | 400 | 17 |
+--------+-----+------+
| 순위 | 연산자 |
|---|---|
| 1 | 괄호로 묶인 부분 |
| 2 | 비교연산자( =, !=, <>, >, >=, <, <= ) SQL 연산자( BETWEEN, IN, LIKE, IS NULL ) |
| 3 | NOT |
| 4 | AND |
| 5 | OR |
SELECT name, grade, deptno FROM student WHERE deptno = 102 AND (grade=1 OR grade=4);
+--------+-------+--------+
| name | grade | deptno |
+--------+-------+--------+
| 오유석 | 4 | 102 |
| 하나리 | 1 | 102 |
+--------+-------+--------+
SELECT name, sal FROM professor WHERE sal BETWEEN 300 AND 400;
+--------+-----+
| name | sal |
+--------+-----+
| 이재우 | 320 |
| 성연희 | 360 |
| 남은혁 | 400 |
+--------+-----+
SELECT profno, name, position, deptno FROM professor WHERE position IN ('조교수', '전임강사');
'를 사용한다.+--------+--------+----------+--------+
| profno | name | position | deptno |
+--------+--------+----------+--------+
| 9902 | 이재우 | 조교수 | 201 |
| 9903 | 성연희 | 조교수 | 101 |
| 9904 | 염일웅 | 전임강사 | 102 |
| 9907 | 전은지 | 전임강사 | 101 |
+--------+--------+----------+--------+
공학 이라는 단어가 포함된 모든 학과의 학과번호,이름, 위치를 조회SELECT deptno, dname, loc FROM department WHERE dname LIKE '%공학%';
+--------+--------------+-------+
| deptno | dname | loc |
+--------+--------------+-------+
| 101 | 컴퓨터공학과 | 1호관 |
| 201 | 전자공학과 | 3호관 |
| 202 | 기계공학과 | 4호관 |
+--------+--------------+-------+
SELECT studno, name, grade, profno FROM student WHERE profno IS NOT NULL;
+--------+--------+-------+--------+
| studno | name | grade | profno |
+--------+--------+-------+--------+
| 20103 | 김진경 | 2 | 9902 |
| 10101 | 전인하 | 4 | 9903 |
| 10107 | 이광훈 | 4 | 9903 |
| 10201 | 김진영 | 2 | 9905 |
| 10202 | 오유석 | 4 | 9905 |
| 10204 | 윤진욱 | 3 | 9905 |
| 10103 | 김영균 | 3 | 9906 |
| 10104 | 지은경 | 2 | 9907 |
| 10105 | 임유진 | 2 | 9907 |
| 10108 | 류민정 | 2 | 9907 |
+--------+--------+-------+--------+
SELECT name, grade, studno, deptno FROM student WHERE deptno = 102 AND (grade = 1 OR grade = 4);
+--------+-------+--------+--------+
| name | grade | studno | deptno |
+--------+-------+--------+--------+
| 오유석 | 4 | 10202 | 102 |
| 하나리 | 1 | 10203 | 102 |
+--------+-------+--------+--------+
deptno = 102 AND grade = 4 OR grade = 1 의 의미