SELECT *
FROM course_taken
WHERE sid<'950000'
GROUP BY sid, year_taken;
데이터 조회
테이블에 존재하는 특정 데이터를 찾고 싶을 때 사용한다.
SELECT 컬럼영1, 컬럼명2, ... (혹은 *)
FROM 테이블명1, 테이블명2, ...
(WHERE 조건);
- SELECT 절
반환된 결과를 나타낸다. 반환 결과로 수식을 사용하거나 AS 명령어를 통해 헤더를 변경할 수 있다.
SELECT token,
(6371*acos(cos(radians(:latitude))*cos(radians(latitude))*cos(radians(longitude)
-radians(:longitude))+sin(radians(:latitude))*sin(radians(latitude))))
AS distance
FROM locationInfo;
#WHERE token <> :token
#HAVING distance < 1
#ORDER BY distance;
위는 locationInfo 테이블에서 상수값인 (:latitude, :longitude)와 테이블의 각 행의 latitude, longitude간의 연산을 통해 distance라는 이름으로 결과를 반환하는 질의이다. (token도 반환됨)
- WHERE 절
특정 조건을 만족하는 행들만 반환하게 된다. 아래는 그 예시이다.
SELECT * FROM students
WHERE gpa>=3.0; #산술비교
SELECT * FROM students
WHERE name='이동주'; #문자열비교
SELECT * FROM students
WHERE birthdate>='01/01/1985'; #날짜비교
SELECT * FROM students
WHERE (gpa>=3.5 AND major='cs') OR (gpa<=2.0 AND major='ss'); #논리 연산을 통한 복합 조건
SELECT * FROM students
WHERE id LIKE '2___'; # 단문자 맨 앞이 2이며 뒤에 3글자는 어느 것이든 가능
SELECT * FROM students
WHERE address LIKE '%한남동%'; #한남동을 포함하는 문자열
SELECT * FROM students
WHERE major IS NULL; #컬럼값이 NULL인지 확인(IS NOT NULL도 존재)
- FROM 절
#질의에 사용될 전체 테이블 리스트의 지정
SELECT * FROM instructor, department; # instuctor X department
#JOIN 연산의 표현
SELECT * FROM instructor, department
WHERE dept=id; #instuctor 테이블의 dept 값에 해당하는 department 테이블의 id 값과 연결
- ORDER BY 연산
조회된 값을 오름차순(ASC)/내림차순(DESC)으로 보여줌
SELECT name
FROM student
WHERE birthdate>='1997-06-01'
ORDER BY name ASC;
- GROUP BY 연산
조회된 결과 데이터를 그룹화하기 위해 사용하는 연산.
#95학번 이전 학생에 대하여, 전공별 학생 수
SELECT major 전공 ,COUNT(*) 사원수
FROM students
WHERE sid<'950000'
GROUP BY major;
- HAVING 연산
#95학번 이전 학생에 대하여, 전공별 학생 수 (단, 5명이 넘는 경우만 조회, 전공명을 오름차순으로 정렬)
SELECT major 전공 ,COUNT(*) 사원수
FROM students
WHERE sid<'950000'
GROUP BY major
HAVING COUNT(*) > 5
ORDER BY major ASC;
'Domain > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 6. 무결성 제약 조건 (0) | 2020.07.23 |
---|---|
[데이터베이스] 5. 데이터의 입력, 삭제, 수정 (0) | 2020.07.22 |
[데이터베이스] 4. MySQL 중첩질의문 (0) | 2020.07.22 |
[데이터베이스] 2. MySQL 기본 - USER, DB, TABLE 생성 (+GRANT;권한) (0) | 2020.07.22 |
[데이터베이스] 1. 개요 (0) | 2020.07.22 |