예시별 다양한 Query 답이 있을 수 있습니다.
1) SELECT * FROM school;
school 테이블의 모든 자료를 가져오시오.
2) SELECT eng FROM school;
school 테이블에서 영어점수를 가져오시오.
3) SELECT name,mat FROM school;
school 테이블에서 이름, 수학 점수를 가져오시오.
4) SELECT name FROM school WHERE mat>=70;
school 테이블에서 수학점수가 70점 이상의 학생의 이름을 가져오시오.
(>=:이상(크거나같다), <=:이하(작거나같다), >:초과(크다), <:미만(작다), =:같다, <>:같지않다(!=,^=))
5) SELECT name FROM school WHERE eng>=80 AND eng<=100;
school 테이블에서 영어점수가 80점이상 100점이하 학생의 이름을 가져오시오.
(AND:두조건만족 구하기, OR:한개의조건만족 구하기, NOT:조건부정(조건의반대값))
6) SELECT name FROM school WHERE eng BETWEEN 90 and 99;
school 테이블에서 영어점수가 90~99인 학생의 이름을 가져오시오.
7) SELECT stdnum FROM school WHERE NOT name IN ('Batman','Hulk');
school 테이블에서 이름이 Batman, Hulk를 제외한 학생의 학번을 가져오시오.
8) SELECT * FROM school WHERE name LIKE '%man';
school 테이블에서 이름의 끝 글자가 'man'으로 끝나는 학생의 정보를 가져오시오.
(LIKE:포함글자 찾을 때 사용함, %:여러글자, _:한글자)
9) SELECT name FROM school WHERE mat IS NULL;
school 테이블에서 수학점수의 값이 NULL인 학생의 이름을 가져오시오.
(NULL:값이없음)
10) SELECT name FROM school WHERE mat IS NOT NULL;
school 테이블에서 수학점수의 값이 NULL이 아닌 학생의 이름을 가져오시오.
11) SELECT * FROM school WHERE eng>=90 ORDER BY mat DESC;
school 테이블에서 영어점수 90점이상의 학생의 정보를 수학점수기준으로 내림차순해서 가져오시오.
(ORDER BY 뒤쪽에 ASC:오름차순, DESC:내림차순)
12) SELECT DISTINCT name FROM school;
school 테이블에서 중복된이름을 제외한 이름을 가져오시오.
13) SELECT SUM(eng),AVG(eng) FROM school;
school 테이블에서 영어점수의 합계와, 평균을 가져오시오.
(SUM:합계, AVG:평균, MAX:최대값, MIN:최소값, COUNT:개수구하기)
14) SELECT COUNT(*) FROM school WHERE mat>70;
school 테이블에서 수학점수가 70점 초과 학생의 학생수를 구하시오.
(COUNT(*):COUNT(name)처럼 필드를 정해도 가능하고 어떤 필드를 사용해도 무방하면 *를 사용해도 된다.)
15) SELECT name,mat,mat+5 AS mat5 FROM school;
school 테이블에서 이름,수학점수,수학점수에 5점을 더한 필드를 mat5로 정의해서 출력하시오.
(화면에는 mat5 필드 이름이 보이지 않지만 실제 DB출력시 수학점수에 5점 더한 필드 위쪽에 mat5 필드명이 보이게 된다.)
16) SELECT name,YEAR(birth) FROM school;
school 테이블에서 이름과 생년을 구하시오.
(YEAR:연도, MONTH:월, DAY:일, HOUR:시간, MINUTE:분, SECOND:초)
17) SELECT name,FLOOR(DATEDIFF(NOW(), birth)/365) AS age FROM school;
school 테이블에서 이름과 나이를 구하고 나이 필드이름을 age로 정의해서 출력하시오.
(NOW():현재시간, DATEDIFF:두개의 날짜값의 차이를 정수형(int)으로 계산, FLOOR:소수를 작은 정수로 계산)
18) SELECT eng FROM school GROUP BY eng;
school 테이블에서 영어점수를 그룹별(중복되지 않은 값)로 출력하여라.
(동일한 명령:SELECT DISTINCT eng FROM school;)
19) SELECT eng FROM school GROUP BY eng HAVING eng>=90;
school 테이블에서 90점 이상의 영어점수중 그룹별(중복되지 않은 값)로 출력하여라.
(HAVING:GROUP BY 명령에서 조건을 사용할 때 사용한다.)