모든 설명은 주석으로 확인할 수 있어요.
하나씩 따라해 보세요. ^^
개나리 100 60 30
대한민국 100 100 100
진달래 90 90 20
봉선화 80 80 20
홍길동 50 60 30
나팔꽃 30 80 20
라일락 30 80 40
무궁화 30 30 40
해바라기 30 80 40
대한민국 10 65 35
위와 같은 데이터가
lan이라는 테이블에
uname, kor, eng, mat 순서로 칼럼에 들어가 있을 때
------------------------------------------------------------------------
-- where 조건절
-- 국어 점수가 50점 이상인 레코드 조회
select * --* - 모든 레코드 조회
from lan -- lan이라는 테이블에서
where kor >= 50; -- kor가 50 이상인 경우
-- 이름이 홍길동인 레코드 조회
select *
from lan
where uname = '홍길동'; -- = 이콜 하나만 써야 같다는 의미
-- 이름이 홍길동이 아닌 레코드 조회
select *
from lan
where uname != '홍길동'; -- != 대신 <> 비교연산자 기호를 써도 됨
-- 조건이 두 가지 이상일 때
-- 이름이 무궁화 또는 봉선화인 레코드 조회
select *
from lan
where uname = '무궁화' or uname = '봉선화'; -- 조건을 모두 만족해야 하면 and 연산자 사용
-- 위의 조건은 다른 방법으로
select *
from lan
where uname in ('무궁화', '봉선화'); -- in 연산자를 사용해 조건들을 괄호 안에 넣을 수 있음
-- 이름이 대한민국인 레코드에만 평균 입력
update lan
set aver = (kor + eng + mat)/3
where uname = '대한민국';
-- 평균 칼럼에서 null 값 조회
select *
from lan
where aver is null;
-- 평균 칼럼에서 null 값이 아닌 레코드 조회
select *
from lan
where aver is not null;
-----------------------------------------------------------------
-- like 연산자
-- 문자열 데이터에서 사용
-- % 와 _ 사용
-- 이름이 홍으로 시작하는 레코드 조회
select *
from lan
where uname like '홍%';
-- 이름이 홍으로 끝나는 레코드 조회
select *
from lan
where uname like '%홍';
-- 이름 어디에든 홍이 들어있는 레코드 조회
select *
from lan
where uname like '%홍%';
-- 이름이 홍으로 시작하며 3자리 글자인 레코드 조회
select *
from lan
where uname like '홍__';
-----------------------------------------------------------------------
--정렬 sort
-- db는 인덱스가 없음, 행 추가 시 순서대로 추가되는 게 아니고 빈 곳에 끼워넣음
-- db를 자바로 옮길 때는 정렬해서 옮겨와야 함
-- 종류
-- 오름차순 - asc, 기본값 > 생략 가능
-- 내림차순 - desc
-- 문법
-- order by 칼럼1, 칼럼2, 칼럼3 ~~~;
--전체 레코드를 이름 오름차순으로 정렬
select *
from lan
order by uname asc; -- asc 생략 가능
--전체 레코드를 이름 내림차순으로 정렬
select *
from lan
order by uname desc; -- desc 반드시 써줘야 함
--국어 점수 높은 순으로 정렬한 후 이름순 정렬
select *
from lan
order by kor desc, uname;
영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.
영어를 배울 수밖에 없다면... ^_^
댓글