반응형
CREATE TABLE students(
id INT,
nickname VARCHAR(20),
math_score INT,
english_score INT,
programming_socre INT
);
시작전에 필터링 실습에 필요한 테이블 생성을 한다.
id - 숫자
nickname - 문자 20 ....
테이블이 잘 만들어 졌는지 확인하자
SELECT * FROM students;
이렇게 비어있는 테이블이 잘 만들어진것이 확인된다.
이제 데이터를 넣는다.
INSERT INTO students(id, nickname, math_score, english_score, programming_socre)
VALUES
(1, 'Sparkles', 98, 96, 93),
(2, 'Soldier', 82, 66, 98),
(3, 'Lapooheart', 84, 70, 82),
(4, 'Slick', 87, 99, 98),
(5, 'Smile', 75, 73, 70),
(6, 'Jllyboo', 84, 82, 70),
(7, 'Bagel', 97, 91, 87),
(8, 'Queen', 99, 100, 88)
;
이거 할때 계속 오류 발생했다.
,를 잘 확인하자
어찌어찌 넣은 후 이렇게 결과가 나온다.
모든 성정 90점 이상
SELECT * FROM students
WHERE
math_score >= 90
AND
english_score >= 90
AND
programming_socre >= 90
;
여기서 *을 안넣으니 아무런 데이터가 나오지 않는다.
* 위치는 어떤 정보를 가져 올것인지를 주는 조건
아무튼 한놈 조회됨
75점 미만이 1이라도 있는 학생
SELECT * FROM students
WHERE
math_score < 75
OR
english_score < 75
OR
programming_socre < 75
;
이렇게 나온다.
OR 조건을 썼다.
합산정보 표현
SELECT
*,
math_score + english_score + programming_socre AS total
FROM
students ;
*, 후에 추가로 확인하고자 하는 컬럼을 계산하는 컬럼명을 입력하고
AS 를 통해 별칭을 입력함
total이라는 새로운 컬럼이 보임
하지만 DB에 저장되는것이 아닌점 주의
학생별 정보와 평균정보
SELECT
*,
(math_score + english_score + programming_socre)/3 AS avg
FROM
students;
마찬가지로 보고자하는 컬럼을 *, 에 넣어놓고 AS 를 통해 avg라는 별칭을 제공
총점이 270 이상인 학생 이름, 성정총점, 성적평균
SELECT
nickname,
math_score + english_score + programming_socre AS total,
(math_score + english_score + programming_socre)/3 AS avg
FROM students
WHERE
math_score + english_score + programming_socre >= 270
;
여기서 WHERE 절에 total을 넣었더니 에러가는데
실제 존재하는 컬럼 값이 아니기 때문에 나오는 에러인듯
암튼 저리 수행 하면 아래와 같이 정상 조회 된다.
반응형
'TECH' 카테고리의 다른 글
통계 실습을 위한 SQL (0) | 2022.05.17 |
---|---|
🌟 BlackDog캠핑 조명LED감성 조명BD-LYD006 🌟최대 350h사용가능-무료배송 (0) | 2022.05.17 |
Postgres CREATE TABLE (0) | 2022.05.13 |
[샤오미]샤오미 미홀 1+1 역방향 3단 접이식 조명우산 자동우산 방폭충 3단자동우산 - 방수 우산봉투 2개포함됨 (0) | 2022.04.25 |
LG 톤 프리 구매 후기 (0) | 2022.04.21 |