SQL(5~8)

챕터05_01. 실습환경만들기

celeb 테이블 구경하기

실습할 테이블 생성
create table celeb

  1. create table celeb
  2. (
  3. id int not null auto_increment primary key,
  4. name varchar(32) not null default '',
  5. brithday date,
  6. age int,
  7. sex char(1),
  8. job_title varchar(32),
  9. agency varchar(32)
    10.);

테이블 정보 확인
desc celeb;

챕터05_02. ORDER BY

SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬

  • ASC(Ascending): 오름차순으로 정렬
  • DESC(Descending): 내림차순으로 정렬
  1. SELECT column1, column2, ...
  2. FROM tablename
  3. ORDER BY column1, column2, ...ASC /DESC;

EX)celab 테이블에서 이름과 나이를 나이순으로 조회
1. SELECT age, name
2. FROM celab
3. ORDER BY age ASC; *기본오름차순이라서 ASC 생략가능

EX)celab 테이블에서 이름과 나이를 나의 역순(내림차순)으로 조회
1. SELECT age, name
2. FROM celab
3. ORDER BY age DESC;

EX)celab 테이블에서 이름과 나이를 나이와 이름순으로 정렬하여 조회(기본 오름차순 정렬)
1. SELECT age, name
2. FROM celab
3. ORDER BY age, name;

EX)celab 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회
1. SELECT age, name
2. FROM celab
3. ORDER BY age DESC, name ASC;

챕터06_01. Comparison operators(비교연산자)

<>, != -> 같지않다.

ex) 나이가 29세인 데이터 검색
1. SELECT name, age From celab WHERE age=29 ORDER BY age;

ex)나이가 29세가 아닌 데이터 검색
1. SELECT name, age FROM celab WHERE age != 29 ORDER BY age;

ex) 나이가 29세 보다 큰 데이터 검색
1. SELECT name, age FROM celab WHERE age>29 ORDER BY age;

...

챕터07.Logical Operators

AND = 조건 모두 만족 TRUE
OR = 하나의 조건이라도 만족 TRUE
NOT = 조건을 만족하지 않는 경우 TRUE
BETWEEN = 조건값이 범위 사이에 있으면 TRUE
IN = 조건값이 목록에 있으면 TRUE
LIKE = 조건값이 패턴에 맞으면 TRUE

챕터07.01. AND

AND 문법
조건을 모두 만족하는 경우 TRUE
1. SELECT column1, column2, ...
2. FROM tablename
3. WHERE condition1 AND condition2 ..;

EX)성별이 남자이고 나이가 40세 보다 큰 데이터를 이름의 역순으로 정렬하여 검색
1. SELECT * FROM celab WHERE sex='M' AND age>40 ORDER BY name DESC;

챕터07.04. OR

OR문법 : 하나의 조건이라도 만족하는 경우TRUE

  1. SELECT column1, column2, ...
  2. FROM tablename
  3. WHERE condition1 OR condition2 ...;

ex)나이가 25세보다 작거나 30세보다 큰 데이터검색
1.SELECT * FROM celab WHERE age<25 OR age>30 ORDER BY age;

ex)나이가 29세보다 작고 여자이거나, 나이가 30세보다 크고 남자인 데이터를 나이와 성별 순으로 정렬하여 검색

  1. SELECT * FROM celab WHERE (age<29 AND sex='F')
    OR
  2. SELECT * FROM celab WHERE (age>30 AND sex='M')
  3. ORDER BY age, sex asc;

*AND를 먼저 처리하기 때문에 먼저 처리할 부분을 ()괄호를 넣는다.

ex)YG엔터테이먼트 소속이거나 나무엑터스 소속인 연예인 중, 나이가 30세보다 작은 데이터를 검색
1. SELECT * FROM celab WHERE agency='YG엔터테이먼트' OR agency='나무엑터스'
2. AND age<30;

챕터07.07. NOT

NOT 문법 : 조건을 만족하지 않은 경우TRUE
1.SELECT column1, column2
2.FROM tablename
3.WHERE NOT condition;

ex)성별이 여자가 아닌 데이터 검색
1.SELECT * FROM celeb WHERE NOT sex='F';

ex)소속사가 yg엔터테이먼트이면서 남자가 아니거나 직업이 가수이면서 소속사가 yg엔터테이먼트가 아닌 데이터 검색
1.SELECT FROM celeb WHERE agency='YG엔터테이먼트'; AND NOT sex='M';
2.SELECT
FROM celeb WHERE job_title='가수' AND NOT agency='YG엔터테이먼트';

profile
안녕하세요~

0개의 댓글