![[MariaDB] Count 함수](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255BMariaDB%255D%2520Count%2520%25ED%2595%25A8%25EC%2588%2598%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3DCoding_study&w=2048&q=75)
학생테이블 만들기
가독성은 항상 신경써야함
- 테이블 생성시 구조
CREATE TABLE테이블 명(); CREATE TABLE테이블 명();
Count 함수

- 데이터베이스에서 데이터를 삭제했을 경우: 순번이 삭제되고 채워지지 않음
번호는 식별자의 의미이기 때문에 해당 순번이 삭제된다고 해도 구별이 되기때문에
삭제된 상태로 그 번호가 비어있어도 아무 이상 없음

테이블 생성
- DESC(DESCribe) : 테이블의 구조 확인
SELECT COUNT(*) FROM 테이블명; : 모든 행 수 세기

모든 행 수 세기
SELECT COUNT(sname) FROM 테이블명; : sname의 수 세기

sname의 수 세기
SELECT COUNT(sno) AS 명칭 FROM 테이블명; : sno의 수 세기

별칭을 부여해서 수를 셀 수 있음

전체 데이터 수 세기

NULL 값은 COUNT로 세지 않음
연습문제
1) 1학년인 학생들의 이름과 학년 반을 조회하시오.
SELECT * FROM 테이블명 WHERE 항목명 조건;

조건에 맞는 데이터 조회
2) 국어 점수가 70점을 초과한 학생들의 이름, 학년을 조회하시오.

조건에 맞는 데이터 조회
3) 영어 점수가 65~75점인 학생의 이름을 조회하시오.
범위 사이에 있는 수를 조회할 경우: 부호를 사용해도 되고 BETWEEN 값 AND 값을 이용해도 됨

조건에 맞는 데이터조회
BETWEEN 값 AND 값 : 값도 포함한 결과 값 조회시 사용

4) 김이라는 성을 가진 사람들만 조회하시오.
SELECT * FROM tbl_students WHERE 항목명 = '글자%' SELECT * FROM tbl_students WHERE 항목명 = '%글자' SELECT * FROM tbl_students WHERE 항목명 = '_글자%';
- _ : 글자 하나를 의미함

안되는 이유)
김으로 할 경우 김이라는 이름은 없음
그래서 =이라는 기호가 들어가면 안됨
like를 사용해야 함

김씨 성을 가진 사람들의 이름 조회

수로 끝나는 사람들의 이름 조회

가운데 글자가 동인 사람들의 이름 조회
5) 3과목의 총점 구하기
SELECT *, 컬럼명 + 컬럼명 + 컬럼명 AS 별칭 FROM 테이블명;

총점이라는 별칭을 사용하여 합계점수 조회
6) 학생들의 국어, 영어, SQL 총점을 구해서 총점이 가장 높은 학생순으로 정렬하시오.
SELECT 컬럼명, 컬럼명 FROM 테이블명 ORDER BY 컬럼명 DESC;
* ASC: 오름차순으로 정리
* ORDER BY + 정렬하고자하는 열의 이름
기본값이 ASC이니 오름 차순으로 할 경우 안 적어도 됨

내림 차순으로 데이터 조회
7) 마동수라는 이름을 마석동으로 정정하시오.
UPDATE 테이블명 SET 항목명 = 변경내용;

특정 이름만 정정
8) 이름에 알파벳 O가 들어가는 사람들의 이름을 조회하시오.
SELECT * FROM 테이블명 WHERE 항목명 LIKE '글자' : % 와 _ 사용
- _: 글자 하나를 의미함


첫글자에 o가 들어간 이름 조회

가운데 글자에 o가 들어간 이름 조회

마지막 글자에 o가 들어간 이름 조회


세번째 글자에 o가 들어간 이름 조회
9) 이름이 NULL인 학생의 모든 데이터를 삭제하시오.
DELETE FROM 테이블명 WHERE 항목명 = 조건;

NULL 삭제하고 조회
10) 국어점수가 65점인 학생들의 국어점수를 +5점하시오.
UPDATE 테이블명 SET 항목명 = 항목명 조건 WHERE 항목명 조건

국어 점수가 65점인 학생들은 70점으로 조회 가능
11) 국어점수가 최고인 학생의 이름을 조회하시오.
SELECT MAX(항목명) FROM 테이블명: 최대값 구하기 SELECT 항목명 FROM 테이블명 WHERE 항목명 = (최대값 구하는 select문); 서브쿼리: 쿼리 안에 쓸 수 있는 쿼리
데이터를 조회하면 테이블 단위로 나옴


최대값을 구하는 select 결과로 from절로 사용
12) 국어점수가 최저인 학생의 이름을 조회하시오.
SELECT MIN(항목명) FROM 테이블명: 최소값 구하기 SELECT 항목명 FROM 테이블명 WHERE 항목명 = (최소값 구하는 select문);


최소값을 구하는 select 결과로 from절로 사용
Share article