# SELECT문 구조
SELECT
속성명
/*
속성명, 속성명, 속성명
*
DISTINCT 속성명
집계함수(속성명)
*/
FROM 테이블명
WHERE 조건
# AND | OR | BETWEEN ~ AND | NOT | LIKE | IS NULL | IS NOT NULL
GROUP BY
HAVING 조건 집계함수(속성명)
ORDER BY 속성 #ASC|DESC
🔥 주의!
- AND :: WHERE, HAVING절에서만 사용 :: 여러 조건을 동시에 만족해야 할 때 사용
- ,(콤마) :: SELECT 절에서 여러 열(column)을 선택할 때, ORDER BY 절에서 여러 열에 대해 정렬 순서를 지정할 때, 그리고 GROUP BY 절에서 그룹화할 열을 나열할 때 사용.
// 평균성적 테이블에서 평균 필드값이 90이상 95이하인 학생들을 검색하여 // 학년 필드 기준으로 내림차순, 반 필드를 기준으로 오름차순 정렬하여 표시 WHERE 평균 >= 90 AND 평균 <= 95 ORDER BY 학년 DESC , 반 ASC;//이름이 '홍길동'이면서 도시가 '서울'인 사람 검색 SELECT * FROM people WHERE name = '홍길동' AND city = '서울';//이름과 도시를 선택하고, 이름으로 정렬한 후 도시로 정렬 SELECT name, city FROM people ORDER BY name, city;//학생 테이블에서 grade와 class별로 평균 점수(average_score)를 계산 SELECT grade, class, AVG(average_score) AS avg_score FROM students GROUP BY grade, class;
GROUP BY 절에 지정된 그룹별로 속성의 값을 집계
집계함수는 SELECT~FROM 사이, HAVING 절에만 들어갈 수 있다!
WHERE절 내부에서 사용 불가!
COUNT : 그룹별 튜플 수 구하는 함수
SUM : 그룹별 합계를 구하는 함수
AVG : 그룹별 평균을 구하는 함수
MAX : 그룹별 최대값을 구하는 함수
MIN : 그룹별 최소값을 구하는 함수
SELECT DISTINCT 학과 FROM 학생
[성적] 테이블에서 '언어' 필드와 '수리' 필드를 더한 후 합계라는 이름으로 표시
SELECT 언어+수리 AS 합계 FROM 성적;
SELECT *
FROM 성적
WHERE (점수 BETWEEN 90 AND 95) AND 학과=‘컴퓨터공학과’;
➡점수 >= 90 AND 점수 <=95
SELECT *
FROM 테이블명
WHERE 속성명 IS NULL ;
- NULL이 아닌 경우 : IS NOT NULL