Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 유태준교수님
- 데이터베이스
- typeScript
- CHEMISTRY
- 날솟샘
- 남재창교수님
- 묵상
- 한동대학교
- 찬양
- 설교
- 글로벌리더십학부
- Database
- GLS
- csee
- 웹개발
- QT
- SQLD
- 프론트엔드
- 전산전자공학부
- 예배
- 화학
- 날마다 솟는 샘물
- 일반화학
- 어노인팅
- 혼자공부하는sql
- CCM
- Software Engineering
- SQL
- dbms
- FE
Archives
- Today
- Total
멈추지 않는 기록
[혼자공부하는SQL] 6강 본문
728x90
03-1. 기본 중에 기본 SELECT ~ FROM ~ WEHERE
0. 시작하기 전에
- SELECT문은 구축이 완료된 테이블에서 데이터를 추출하는 기능을 한다.
- 기본 형식
SELECT (열 이름)
FROM (테이블 이름)
WHERE (조건식)
: 기존에 있는 데이터를 가져와서 볼 뿐이지, 변경을 하는 것은 아니다.
1. 실습용 데이터베이스 구축
1) 실습용 데이터베이스 개요
2) 데이터 추가하기
(1) File → ‘Open SQL Script’를 누른다.
(2) 파일을 선택한 후, 번개 모양 아이콘을 눌러 파일을 실행한다.
3) 명령문 분석하기
DROP DATABASE IF EXISTS market_db; -- 만약 market_db가 존재하면 우선 삭제한다.
CREATE DATABASE market_db;
USE market_db;
CREATE TABLE member -- 회원 테이블
( mem_id CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(PK)
mem_name VARCHAR(10) NOT NULL, -- 이름
mem_number INT NOT NULL, -- 인원수
addr CHAR(2) NOT NULL, -- 지역(경기,서울,경남 식으로 2글자만입력)
phone1 CHAR(3), -- 연락처의 국번(02, 031, 055 등)
phone2 CHAR(8), -- 연락처의 나머지 전화번호(하이픈제외)
height SMALLINT, -- 평균 키
debut_date DATE -- 데뷔 일자
);
CREATE TABLE buy -- 구매 테이블
( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- 순번(PK)
mem_id CHAR(8) NOT NULL, -- 아이디(FK)
prod_name CHAR(6) NOT NULL, -- 제품이름
group_name CHAR(4) , -- 분류
price INT NOT NULL, -- 가격
amount SMALLINT NOT NULL, -- 수량
FOREIGN KEY (mem_id) REFERENCES member(mem_id)
);
INSERT INTO member VALUES('TWC', '트와이스', 9, '서울', '02', '11111111', 167, '2015.10.19');
INSERT INTO member VALUES('BLK', '블랙핑크', 4, '경남', '055', '22222222', 163, '2016.08.08');
INSERT INTO member VALUES('WMN', '여자친구', 6, '경기', '031', '33333333', 166, '2015.01.15');
INSERT INTO member VALUES('OMY', '오마이걸', 7, '서울', NULL, NULL, 160, '2015.04.21');
INSERT INTO member VALUES('GRL', '소녀시대', 8, '서울', '02', '44444444', 168, '2007.08.02');
INSERT INTO member VALUES('ITZ', '잇지', 5, '경남', NULL, NULL, 167, '2019.02.12');
INSERT INTO member VALUES('RED', '레드벨벳', 4, '경북', '054', '55555555', 161, '2014.08.01');
INSERT INTO member VALUES('APN', '에이핑크', 6, '경기', '031', '77777777', 164, '2011.02.10');
INSERT INTO member VALUES('SPC', '우주소녀', 13, '서울', '02', '88888888', 162, '2016.02.25');
INSERT INTO member VALUES('MMU', '마마무', 4, '전남', '061', '99999999', 165, '2014.06.19');
INSERT INTO buy VALUES(NULL, 'BLK', '지갑', NULL, 30, 2);
INSERT INTO buy VALUES(NULL, 'BLK', '맥북프로', '디지털', 1000, 1);
INSERT INTO buy VALUES(NULL, 'APN', '아이폰', '디지털', 200, 1);
INSERT INTO buy VALUES(NULL, 'MMU', '아이폰', '디지털', 200, 5);
INSERT INTO buy VALUES(NULL, 'BLK', '청바지', '패션', 50, 3);
INSERT INTO buy VALUES(NULL, 'MMU', '에어팟', '디지털', 80, 10);
INSERT INTO buy VALUES(NULL, 'GRL', '혼공SQL', '서적', 15, 5);
INSERT INTO buy VALUES(NULL, 'APN', '혼공SQL', '서적', 15, 2);
INSERT INTO buy VALUES(NULL, 'APN', '청바지', '패션', 50, 1);
INSERT INTO buy VALUES(NULL, 'MMU', '지갑', NULL, 30, 1);
INSERT INTO buy VALUES(NULL, 'APN', '혼공SQL', '서적', 15, 1);
INSERT INTO buy VALUES(NULL, 'MMU', '지갑', NULL, 30, 4);
SELECT * FROM member;
SELECT * FROM buy;
4) USE문
(1) SELECT문을 실행하려면, 먼저 사용할 데이터베이스를 지정해야 한다.
USE 데이터베이스_이름;
(2) 현재 사용중인 데이터베이스 확인 명령문
SELECT DATABASE();
(3) 프로그램을 종료하고 다시 실행하면 USE를 다시 실행해야 한다.
5) SELECT문
(1) 모든 테이블 행 검색하기
select * from member;
- 알파벳 순으로 정렬된다.
(2) 명령문은 세미콜론(;)이 나오기 전까지는 한 문장으로 된다.
SELECT *
FROM member
WHERE mem_name = '블랙핑크' ;
(3) 다른 DB의 테이블을 사용할 경우에는 점(.)을 사용한다.
USE sys;
SELECT *
FROM market_db.member -- 이와 같이 사용해야 한다.
WHERE mem_name = '블랙핑크';
(4) 특정 열만 검색하고 싶을 경우, SELECT 구문 뒤에 원하는 열 이름을 콤마(,)을 사용하여 연결한다.
USE market_db;
SELECT addr, height, debut_date
FROM member
WHERE mem_name = '블랙핑크';
(5) 열 이름에 별칭을 줄 경우, 열 이름 뒤에 별칭을 작성한다.
USE market_db; SELECT addr 지역, height 키, debut_date '데뷔 일자'
FROM member
WHERE mem_name = '블랙핑크';
(6) 여러 개의 조건을 주고 싶은 경우 WHERE 구문을 사용한다.
-- 문자열
SELECT * FROM member WHERE mem_name = '블랙핑크';
-- 숫자
SELECT * FROM member WHERE mem_number = 4;
-- 부등호
SELECT mem_id, mem_name FROM member WHERE height <= 162;
-- AND 조건
SELECT mem_id, mem_name FROM member WHERE height >= 165 AND mem_number > 6;
-- OR 조건
SELECT mem_id, mem_name FROM member WHERE height >= 165 OR mem_number > 6;
-- 사이 조건 (ex. 숫자의 범위) -> BETWEEN A AND B;
SELECT mem_name, height FROM member WHERE height >= 163 AND height <= 165;
SELECT mem_name, height FROM member WHERE height BETWEEN 163 AND 165;
-- 선택 조건 (ex. 문자열, 카테고리) -> IN (A, B, C);
SELECT mem_name, addr FROM member WHERE addr = '경기' OR addr = '전남' OR addr = '경남';
SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남');
-- 문자열 비교 -> 언더바(_)는 한 글자, 퍼센트(%)는 여러 글자
SELECT * FROM member WHERE mem_name LIKE '우%'; -- (ex. '우'로 시작하는 경우)
SELECT * FROM member WHERE mem_name LIKE '%이%'; -- (ex. '이'가 들어가는 경우)
SELECT * FROM member WHERE mem_name LIKE '__핑크'; -- (ex. 4글자이고, 핑크로 끝나는 경우)
728x90
'웹 개발 > MySQL' 카테고리의 다른 글
[혼자공부하는SQL] 8강 (0) | 2025.02.13 |
---|---|
[혼자공부하는SQL] 7강 (0) | 2025.02.13 |
[혼자공부하는SQL] 5강 (0) | 2025.02.13 |
[혼자공부하는SQL] 4강 (0) | 2025.02.13 |
[혼자공부하는SQL] 3강 (0) | 2025.02.13 |