만들어진 테이블에서 데이터를 불러오는 작업은 후에 포스팅.
데이터를 집어넣는 방법은 크게 2가지
1. 직접 엑셀 이용해서 데이터를 만들고 csv파일로 만드는 방법
2. 다른 사람이 만든 데이터베이스 자체를 가지고 오는 방법
SHOW GLOBAL VARIABLES LIKE 'LOCAL_INFILE'; #결과 local_infile OFF
SET GLOBAL LOCAL_INFILE=TRUE;
SHOW GLOBAL VARIABLES LIKE 'LOCAL_INFILE'; #결과 local_infile ON
#csv 파일을 가져올 수 있게 됨
누군가가 만들어 놓은 데이터베이스 자체를 가져오는 방법
MySQL Sample Database
다운로드 클릭
HEIDISQL - 파일 - SQL파일 불러오기
실행 시 데이터가 생성된 것을 볼 수 있음
MYSQLTUTORIAL 홈페이지에서 제공하는 SAMPLE DATA BASE의 구성
SELECT * FROM newcustomers;
#여기서 *는 모든 컬럼을 의미, newcustomers에서 모든 컬럼을 가지고 와라
SELECT customer_name, phone FROM newcustomers; #원하는 열의 데이터만 가져오기
LIMIT n, m : n번째 행부터 m개의 행을 출력
OFFSET으로 5개의 데이터 다음 3개의 데이터 출력
LIMIT 5,3과 같은 결과
같은 테이블안에 중복되는 데이터가 있을 수 있음.
그래서 중복되는 데이터들을 제외하고 항 하나만 남기고 선택함.
날짜 데이터를 다룰 때, 실수로 데이터를 DB에 집어넣을 때 중복되서 넣을 때 등등 사용
단점은 조회한 행만 보여짐
SELECT FROM
ALIAS
LIMIT/OFFSET
DISTINCT
❔ 문제 1: productlines 테이블에서 제품 라인(productline)을 중복 없이 가져오되 4번째부터 8개만 조회하세요.
SELECT DISTINCT productline
FROM productlines
LIMIT 3,8
;
❔ 문제 2: customers 테이블에서 고객 이름(customerName)을 ClientName이라는 별칭으로 조회하세요.
SELECT customerName AS ClientName
FROM customers
;
❔ 문제 3: orders 테이블에서 주문 날짜(orderDate)의 중복 없는 값을 조회하라.
SELECT DISTINCT orderDate
From orders
;
❔ 문제 4: employees 테이블에서 직원의 성(lastname)과 이름(firstname)을 조회하되, 이름을 GivenName이라는 별칭으로 조회하라.
SELECT lastname, firstname AS GivenName
FROM employees
;
❔ 문제 5: orderdetails 테이블에서 제품 코드(productCode)의 중복 없는 값을 15개만 가져오라.
SELECT DISTINCT productCode
FROM orderdetails
LIMIT 15
;
❔ 문제 6: payments 테이블에서 체크 번호(checkNumber)를 Check_ID라는 별칭으로 조회하라.
SELECT checkNumber AS Check_ID
FROM payments
;
❔ 문제 7: products 테이블에서 제품 이름(productName)의 중복 없는 값을 5개만 가져오되, 10번째부터 시작하라.
SELECT DISTINCT productName
FROM products
LIMIT 9, 5
❔ 문제 8: offices 테이블에서 지역 코드(officeCode)를 Office_ID라는 별칭으로 조회하라.
SELECT officeCode AS Office_ID
FROM offices
;
❔ 문제 9: orderdetails 테이블에서 제품 코드(productCode)와 주문 수량(quantityOrdered)를 조회하되, 주문 수량(quantityOrdered)을 TotalOrdered라는 별칭으로 조회하라.
SELECT productCode, quantityOrdered AS TotalOrdered
FROM orderdetails
;
❔ 문제 10: customers 테이블에서 고객 이름(customerName)의 중복 없는 값을 10개만 가져와라.
SELECT DISTINCT customerName
FROM customers
LIMIT 10
;
❔ 문제 1: customers 테이블에서 customerName을 가져오되, 중복 없이 가져와라.
SELECT DISTINCT customerName
FROM customers;
❔ 문제 2: products 테이블에서 제품 이름(productName)만 5개만 가져와라.(즉 상위 5개)
SELECT productName
FROM products
LIMIT 5
;
❔ 문제 3: order 테이블에서 주문 상태(status)의 종류를 모두 나열하라. 중복은 제거.
SELECT DISTINCT status
FROM order
;
❔ 문제 4: employees 테이블에서 직원의 성(lastName)을 10개만 가져오되, 5번째부터 시작하라.
SELECT lastName
FROM employees
LIMIT 4, 10
;
❔ 문제 5: product 테이블의 productVendor를 별칭 Vendor로 조회하라.
SELECT productVendor AS Vendor
FROM product
;
❔ 문제 6: orders 테이블에서 고객 번호(customerNumber)의 중복 없는 값을 7개만 가져와라.
SELECT DISTINCT customerNumber
FROM orders
LIMIT 7
;
❔ 문제 7: employees 테이블에서 employeeNumber를 별칭 Employee_ID로 조회하되, 3번째부터 6개만 가져와라.
SELECT employeeNumber AS Employee_ID
FROM employees
LIMIT 2,6
;
❔ 문제 8: offices 테이블에서 국가(country)의 종류를 중복 없이 나열하라.
SELECT DISTINCT country
FROM offices
;
❔ 문제 9: orderdetails 테이블에서 제품 코드(productCode)를 Code라는 별칭으로, 주문 수량(quantityOrdered)를 Quantity라는 별칭으로 조회하라.
SELECT productCode AS Code, quantityOrdered AS Quantity
FROM orderdetails
;
❔ 문제 10: payments 테이블에서 체크 번호(checkNumber)의 중복 없는 값을 10개만 가져와라.
SELECT DISTINCT checkNumber
FROM payments
LIMIT 10
;