기본문법
select 필드명1, 필드명2, 필드명3........ from 테이블명 [where 조건]
dept
deptno deptname loc tel
-------------------------------------------
10 security 서울 02
20 game 경기 031
30 design 서울 02
Student
sno sname tel age major addr deptno
----------------------------------------------------------------------------
s0001 kim 010 20 security 서울 10
s0002 lee 012 20 security 서울 10
1) 모두 검색
select deptno, deptame, loc, tel from dept
select * from dept
2) 일부 필드 검색 (부서번호, 부서명)
select deptno, deptname from dept
3) 기본 조건 검색
select * from dept where 조건
- 문자타입 : ' ' 로 싸서 비교 (char, varchar, nchar, nvarchar, text)
- 숫자타입 : 그냥 비교 (int, tinyint, money, smallmoney)
ex) dept 테이블에서 loc가 경기인 모든 필드를 검색하세요.
select * from dept where loc='경기'
ex) student 테이블에서 나이가 20이상인 학생의 모든 필드를 검색하세요.
select * from student where age>=20
비교연산자
같다 : =
다르다 : != / (<>) // != 나 (<>) 중 아무거나 사용해도 상관없음
비교 : >, <
이상, 이하 : >=, <=
산술연산자
+, -, *, /
논리연산자
and, or, not
ex) student 테이블에서 나이가 20이상이고 전공이 security인 학생의 모든 필드를 검색
select * from student where age>=20 and major='security'
4) 검색되는 필드명 바꾸기 (별명으로 바꾸기) // 한글로도 변경이 가능하지만 영문 권장
select 필드명1 as 별명1, 필드명2 as 별명2.... from 테이블명 [where 조건]
ex) student에서 sno는 학번, sname은 학생이름 검색하세요. 단 age가 25이상인 사람만 검색하세요.
select sno as 학번, sname as 학생이름 from student where age>=25
5) 조건절에 null인 필드 찾기
null : 값이 없음을 뜻함
- null인 필드 검색
where 필드명 is null
- null이 아닌 필드 검색
where 필드명 is not null
6) 정렬 (sort)
오름차순 : ㄱ~ㅎ, 1~10, a~z
내림차순 : ㅎ~ㄱ, 10~1, z~a
- 오름차순 정렬
select 필드명.... from 테이블명 [where 조건] order by 기준필드명 [asc]
asc : 오름차순 //생략해도 오름차순으로 정렬 됨
- 내림차순 정렬
select 필드명.... from 테이블명 [where 조건] order by 기준필드명 desc
desc : 내림차순 //생략 불가능
- 정렬기준 여러 필드인 경우
select 필드명.... from 테이블명 [where 조건] order by 기준필드명 [asc or desc] , 기준필드명 [asc or desc]
'<DB>' 카테고리의 다른 글
[SQL] Create 문, Insert 문 (0) | 2020.07.29 |
---|---|
[SQL] Select 문 (3) (0) | 2020.07.23 |
[SQL] Select 문 (2) (0) | 2020.07.22 |
DataBase 정의와 DBMS 정의 (0) | 2020.07.20 |