You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 쿼리 문 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.maxfit.vn team, along with other related topics such as: 쿼리 문 쿼리문 예제, 쿼리문 뜻, 쿼리문 작성, mysql 쿼리문, 쿼리문 정리 사이트, 쿼리문 조건, 쿼리문 select, 쿼리문 종류
기본 SQL Query문 정리 ( SELECT, INSERT, UPDATE, DELETE ) — 창슈 Area
- Article author: lcs1245.tistory.com
- Reviews from users: 33331 Ratings
- Top rated: 4.2
- Lowest rated: 1
- Summary of article content: Articles about 기본 SQL Query문 정리 ( SELECT, INSERT, UPDATE, DELETE ) — 창슈 Area 데이터베이스와 연동하는 프로그램을 구현할 때 쓰게 되는 SQL Query문 들에 대해 포스팅하려 합니다 어렵지 않은 내용인데 헷갈려서 포스팅으로 정리 … …
- Most searched keywords: Whether you are looking for 기본 SQL Query문 정리 ( SELECT, INSERT, UPDATE, DELETE ) — 창슈 Area 데이터베이스와 연동하는 프로그램을 구현할 때 쓰게 되는 SQL Query문 들에 대해 포스팅하려 합니다 어렵지 않은 내용인데 헷갈려서 포스팅으로 정리 … 데이터베이스와 연동하는 프로그램을 구현할 때 쓰게 되는 SQL Query문 들에 대해 포스팅하려 합니다 어렵지 않은 내용인데 헷갈려서 포스팅으로 정리하려고 합니다 1. SELECT – 가장 기본인 데이터를 불러오는 쿼..
- Table of Contents:
블로그 메뉴
공지사항
티스토리툴바
SQL 기초 & 자주쓰는 쿼리문 정리
- Article author: 365kim.tistory.com
- Reviews from users: 18962 Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about SQL 기초 & 자주쓰는 쿼리문 정리 쿼리문은 어떤 것을 제어하느냐에 따라, 데이터베이스 제어문, 테이블 제어문, 데이터 제어문으로 나눌 수 있다. 자주 쓰는 구문만 간단하게 살펴보자 … …
- Most searched keywords: Whether you are looking for SQL 기초 & 자주쓰는 쿼리문 정리 쿼리문은 어떤 것을 제어하느냐에 따라, 데이터베이스 제어문, 테이블 제어문, 데이터 제어문으로 나눌 수 있다. 자주 쓰는 구문만 간단하게 살펴보자 … SQL을 배워야하는 이유 데이터베이스와 SQL 우리는 일상 속에서 ‘DB’ 또는 ‘데이터베이스’라는 단어를 어렵지 않게 접한다. 보통 ‘관리 목적으로 데이터를 모아놓은 것’을 의미할 때 사용한다. 이 ‘데이터베이스’..
- Table of Contents:
SQL을 배워야하는 이유
📌 SQL 자주 쓰는 쿼리문
🚀 SQL 쿼리문 적용해보기
참고자료
태그
‘General’ Related Articles
태그
최근 포스트
검색
티스토리툴바
SQL 개념 및 SQL 쿼리문 정리[TIL 2021.08.26]
- Article author: velog.io
- Reviews from users: 37285 Ratings
- Top rated: 3.1
- Lowest rated: 1
- Summary of article content: Articles about SQL 개념 및 SQL 쿼리문 정리[TIL 2021.08.26] Structured Query Language의 줄임말로써, 번역하면 구조적인 Query언어를 의미직역하면 “질의문” 이라는 뜻조금더 풀어 쓰자면 저장되어져 있는 정보 … …
- Most searched keywords: Whether you are looking for SQL 개념 및 SQL 쿼리문 정리[TIL 2021.08.26] Structured Query Language의 줄임말로써, 번역하면 구조적인 Query언어를 의미직역하면 “질의문” 이라는 뜻조금더 풀어 쓰자면 저장되어져 있는 정보 … Structured Query Language의 줄임말로써, 번역하면 구조적인 Query언어를 의미직역하면 “질의문” 이라는 뜻조금더 풀어 쓰자면 저장되어져 있는 정보를 필터하기 위한 질문
- Table of Contents:
[데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법)
- Article author: sosobaba.tistory.com
- Reviews from users: 3624 Ratings
- Top rated: 3.0
- Lowest rated: 1
- Summary of article content: Articles about [데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법) [데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법). 마블랑 2019. 1. 5. 11:48. 320×100. 반응형. 안녕하세요 마블랑입니다. …
- Most searched keywords: Whether you are looking for [데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법) [데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법). 마블랑 2019. 1. 5. 11:48. 320×100. 반응형. 안녕하세요 마블랑입니다. 안녕하세요 마블랑입니다. 가끔 데이터베이스와 연동하는 프로그램을 구현해야할때가 있습니다. 어렵지 않은 쿼리문인데도 헷갈리기 때문에 포스팅을 통해서 정리를 해두려고 합니다~ 데이터베이스마다 쿼리문이..
- Table of Contents:
관련글
댓글6
최근글
인기글
최근댓글
태그
전체 방문자
[SQL 예문] SQL 연습하기 1 (기초 쿼리문)
- Article author: dwbutter.com
- Reviews from users: 21092 Ratings
- Top rated: 3.8
- Lowest rated: 1
- Summary of article content: Articles about [SQL 예문] SQL 연습하기 1 (기초 쿼리문) 입문용 예시 쿼리문 🙂 1) visit_sum 테이블에 있는 모든 컬럼을 출력해보자 SELECT 는 컬럼을 선택하는 명령어인데 * 를 뒤에쓰면 모든 컬럼 선택 … …
- Most searched keywords: Whether you are looking for [SQL 예문] SQL 연습하기 1 (기초 쿼리문) 입문용 예시 쿼리문 🙂 1) visit_sum 테이블에 있는 모든 컬럼을 출력해보자 SELECT 는 컬럼을 선택하는 명령어인데 * 를 뒤에쓰면 모든 컬럼 선택 … 입문용 예시 쿼리문 🙂 1) visit_sum 테이블에 있는 모든 컬럼을 출력해보자 SELECT 는 컬럼을 선택하는 명령어인데 * 를 뒤에쓰면 모든 컬럼 선택한다는 의미 SELECT * FROM visit_sum 컬럼이 vs_date 와 vs_c..
- Table of Contents:
관련글
댓글0
티스토리툴바
SQL 기본 쿼리문 (Query) :: sparklit
- Article author: jihnli.tistory.com
- Reviews from users: 1592 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about SQL 기본 쿼리문 (Query) :: sparklit SQL 기본 쿼리문 (Query). 113113 2021. 1. 5. 17:24. INSERT 문을 제외한 SELECT, UPDATE, DELETE 문의 경우 WHERE 절을 사용할 수 있다. …
- Most searched keywords: Whether you are looking for SQL 기본 쿼리문 (Query) :: sparklit SQL 기본 쿼리문 (Query). 113113 2021. 1. 5. 17:24. INSERT 문을 제외한 SELECT, UPDATE, DELETE 문의 경우 WHERE 절을 사용할 수 있다. INSERT 문을 제외한 SELECT, UPDATE, DELETE 문의 경우 WHERE 절을 사용할 수 있다. 문장은 항상 세미콜론(;)으로 끝나며 대소문자를 구별하지 않는다. SELECT : 데이터를 불러온다. SELECT 속성이름 FROM 테이블..공부 기록 중
- Table of Contents:
[MySQL] 기본 쿼리문 정리 :: 코딩 공부 일지
- Article author: cocoon1787.tistory.com
- Reviews from users: 31642 Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about [MySQL] 기본 쿼리문 정리 :: 코딩 공부 일지 [MySQL] 기본 쿼리문 정리. Cocoon_ 2021. 11. 23. 12:00. 반응형.. 테이블(Table) : 서로 연관된 레코드의 집합을 의미. 레코드(Record) : 하나의 단위로 취급되는 … …
- Most searched keywords: Whether you are looking for [MySQL] 기본 쿼리문 정리 :: 코딩 공부 일지 [MySQL] 기본 쿼리문 정리. Cocoon_ 2021. 11. 23. 12:00. 반응형.. 테이블(Table) : 서로 연관된 레코드의 집합을 의미. 레코드(Record) : 하나의 단위로 취급되는 … 🚀 테이블(Table) : 서로 연관된 레코드의 집합을 의미 레코드(Record) : 하나의 단위로 취급되는 자료의 집합. DB에서는 행(Row)에 해당 필드(Field) : 가장 작은 단위의 데이터를 의미. DB에서는 열(Column)에..개발 블로그
- Table of Contents:
🚀
⭐️ 데이터베이스
⭐️ 테이블
⭐️ 레코드
⭐️ 조인
티스토리툴바
See more articles in the same category here: https://toplist.maxfit.vn/blog/.
기본 SQL Query문 정리 ( SELECT, INSERT, UPDATE, DELETE )
반응형
데이터베이스와 연동하는 프로그램을 구현할 때
쓰게 되는 SQL Query문 들에 대해 포스팅하려 합니다
어렵지 않은 내용인데 헷갈려서 포스팅으로 정리하려고 합니다
1. SELECT
– 가장 기본인 데이터를 불러오는 쿼리문입니다
SELECT 컬럼명 FROM 테이블명
테이블명에 해당하는 테이블의 칼럼명에 데이터를 불러는 구문입니다
모든 칼럼을 불러오고 싶을 때는 컬럼 명부분에 ‘ * ‘ 넣으시면 됩니다
SELECT 컬럼명 FROM 테이블명 WHERE 조건
WHERE 구문을 추가해서 WHERE절 뒤에 오는 조건이 참인 데이터만 불러옵니다
[ 컬럼명 = 값 ]으로 적을 경우 컬럼 명의 값이 지정한 값인 데이터행의 데이터만 불러옵니다SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC
ORDER BY 뒤에 오는 칼럼명을 기준으로 대하여 불러오는 데이터를 정렬합니다
ASC는 오름차순, DESC는 내림차순입니다 기본값은 오름차순으로 정렬이 됩니다
SELECT 컬러명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC LIMIT 개수
LIMIT 구문을 추가하여 데이터행이 많을 때에는 LIMIT절의 개수만큼 데이터를 불러옵니다
2. INSERT
– 데이터를 삽입하는 쿼리문입니다
INSERT INTO 테이블명 (칼럼명1, 칼럼명2, 칼럼명3) VALUES (값1, 값2, 값3)
테이블명에 있는 칼럼명에 순서에 맞게 값을 입력합니다, 칼럼명과 값의 개수는 동일해야 합니다
만약에 문자열을 값으로 입력하는 경우에는 작은따옴표로 문자열을 감싸줘야 합니다.
ex. INSERT INTO Employees (Employee_id, First_name, Last_name) VALUES (100, ‘Aiden’, ‘Lee’);
INSERT INTO 테이블명 VALUES (값1, 값2, 값3)
테이블명 다음에 칼럼명을 입력하지 않은 경우입니다 이 경우는 테이블에 모든 칼럼에 값을
입력한다는 의미로 모든 칼럼의 수에 맞게 값을 줘야 합니다
ex. 칼럼이 Employee_id, First_name, Last_name 3개인 테이블에서
INSERT INTO Employees VALUE (100, ‘Aiden’); => 실패
INSERT INTO Employees VALUE (100, ‘Aiden’, ‘Lee’); => 성공
3. UPDATE
– 데이터를 수정하는 쿼리문입니다
UPDATE 테이블명 SET 칼럼명 = 변경할 값
테이블에 있는 모든 데이터의 칼럼 값을 변경합니다
UPDATE 테이블명 SET 칼럼명 = 변경할 값 WHERE 조건
WHERE절에 조건에 해당하는 데이터만 변경합니다
ex. WHERE 컬럼명 = 값
UPDATE 테이블명 SET 칼럼명1 = 변경할 값1, 칼럼명2 = 변경할 값2 WHERE 조건
변경할 칼럼이 여러 개일 때 콤마( , )를 사용하여 여러 개 값을 변경할 수 있습니다
4. DELETE
– 테이블에 데이터를 삭제하는 쿼리문입니다
DELETE FROM 테이블명
테이블에 있는 모든 데이터를 삭제합니다
DELETE FROM 테이블명 WHERE 조건
WHERE절에 조건에 합하는 데이터만 삭제합니다
이상으로 포스팅 마치겠습니다
내용이 마음에 드신다면 공감(♡)을 눌러주세요
로그인하지 않으셔도 가능합니다~ 감사합니다!
반응형
SQL 기초 & 자주쓰는 쿼리문 정리
SQL을 배워야하는 이유
데이터베이스와 SQL
우리는 일상 속에서 ‘DB’ 또는 ‘데이터베이스’라는 단어를 어렵지 않게 접한다. 보통 ‘관리 목적으로 데이터를 모아놓은 것’을 의미할 때 사용한다. 이 ‘데이터베이스’는 언제부터 우리의 일상 속에 녹아들었을까?
1970년으로 거슬러 올라가 보자. 당시 대기업과 엔지니어들은 누구나 쉽게 데이터를 정리 정돈할 수 있는 전문적인 소프트웨어가 필요로 했다. 이러한 수요에 발맞춰, 영국의 컴퓨터 과학자, 에드거 테드(1923~2003)는 IBM에서 일하는 동안 데이터베이스 관리를 위한 모델을 만들었다. 그리고 그의 이론에 기반해서 여러 가지 관계형 데이터베이스가 등장하기 시작했다. 데이터베이스의 가장 핵심적인 기능은 ‘CRUD’이다. 각각 생성(Create), 조회(Read), 갱신(Update), 삭제(Delete)를 의미한다.
‘데이터베이스’는 데이터를 ‘표’로 표현해준다는 점에서 ‘엑셀 시트’와 비슷하다. ‘엑셀 시트’에서 마우스 클릭을 통해 데이터를 제어하듯이, ‘데이터베이스’에는 SQL로 데이터를 제어할 수 있다. 즉, SQL은 ‘데이터베이스’에서 자료를 다룰 때 사용하는 언어라고 할 수 있다.
구조화된 질의 언어, SQL
SQL은 ‘Structured Query Language’의 약자이다. 이때 ‘Structured’는 데이터가 표로 정리되어 구조화되어있다는 뜻이고, ‘Query’는 사용자가 데이터베이스에게 ‘데이터를 넣어줘, 삭제해줘, 수정해줘, 읽어줘’ 등의 요청을 할 수 있다는 뜻이며, ‘Language’는 데이터베이스도 이해할 수 있고 사용자도 이해할 수 있는 언어로 요청한다는 뜻이다.
TMI: SQL은 HTML과 함께 배우기 쉬운 언어로 꼽힌다.
그래서 SQL은 왜 배워야 할까?
SQL은 관계형 데이터베이스를 다루는데 쓰이는 ‘표준화된’ 언어이다. 표준화되었다는 말은 여기저기서 쓰임이 많다는 뜻이기도 하다. 실제로 많은 프로젝트에서, 앱의 주요 데이터를 저장하는 DBMS(Database Management System)를 SQL 언어를 사용해서 다룬다. 따라서, 개발자라면 분야를 막론하고 기본적인 SQL문을 익혀놓는 것이 좋다. SQL문을 자유롭게 구사할 수 있다면 데이터를 더 편하게 다룰 수 있을 것이다.
📌 SQL 자주 쓰는 쿼리문
쿼리문은 어떤 것을 제어하느냐에 따라, 데이터베이스 제어문, 테이블 제어문, 데이터 제어문으로 나눌 수 있다. 자주 쓰는 구문만 간단하게 살펴보자.
데이터베이스 다루기
— 모든 데이터베이스 조회 SHOW DATABASES; — 데이터베이스 생성 CREATE DATABASE practice DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; — 데이터베이스 삭제 DROP DATABASE IF EXISTS practice;
테이블 다루기
— 테이블 조회하기 use mysql; SHOW TABLES; — 테이블 구조 확인하기 DESC [테이블명]; — 테이블 생성하기 CREATE DATABASE practice DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; — 조회 결과로 테이블 생성하기 CREATE TABLE [생성할 테이블명] AS (SELECT * FROM [기존 테이블명]); — 테이블 삭제하기 DROP DATABASE IF EXISTS practice;
데이터 다루기
쿼리문의 실행 순서
데이터를 다루기 앞서 쿼리문의 실행 순서를 살펴보자.
— 쿼리 처리순서 알아보기 SELECT city AS 도시, COUNT(city) AS 집계 FROM user WHERE user.age >= 18 GROUP BY city HAVING city >= ‘b’ ORDER BY city
위의 예시와 같이 SELECT – FROM – WHERE – GROUP BY – HAVING – ORDER BY 순서로 작성했을 때, 쿼리문은 왼쪽부터 순서대로 처리되지 않는다. 실행 순서는 FROM – WHERE – GROUP BY – HAVING – SELECT – ORDER BY 순이다. 어떤 과정을 거쳐 실행되는지 이해하기 위해 아래 설명을 참고해보자.
1. 우선 FROM에서 테이블을 선택하여 데이터 집합을 만든다.
2. 그리고 WHERE으로 FROM에서 만든 데이터 집합을 조건에 맞게 일부를 선택한다.
3. GROUP BY는 WHERE에서 선택된 데이터를 그룹화한다.
4. HAVING은 GROUP BY에서 그룹핑한 데이터 집합을 다시 조건에 맞게 필터링한다.
5. SELECT는 그룹화 및 필터링된 데이터 집합을 집계한다.
6. ORDER BY는 집계한 데이터 집합을 최종적으로 정렬한다.
데이터 다루기 – 기본
— 기본 데이터 조회하기 SELECT * FROM [테이블명]; — 별칭 사용하기 (ORDER BY에 사용가능, WHERE에 사용불가) SELECT CustomerName AS 고객, Address AS 주소, PostalCode AS 우편번호 FROM Customers; — 특정 행 특정 열 조회하기 SELECT [열1, 열2, …] FROM [테이블명] WHERE [행 선택 조건식] SELECT * FROM Customers WHERE Country = ‘Germany’; SELECT * FROM Orders WHERE ShipperID <> 2; SELECT * FROM OrderDetails WHERE Quantity > 100; SELECT * FROM Employees WHERE FirstName >= ‘O’; SELECT * FROM Employees WHERE BirthDate <= '1950-01-01'; -- 특정 패턴 조회하기 SELECT * FROM [테이블명] WHERE text LIKE '%우아한%'; SELECT * FROM [테이블명] WHERE number BETWEEN 1 and 3; SELECT * FROM [테이블명] WHERE text IN (1, 2, 3); SELECT * FROM [테이블명] WHERE text IS NULL; -- 검색결과 일부 출력 후 정렬하기 (내림차순 DESC) SELECT [열1, 열2, ...] FROM [테이블명] ORDER BY [열1, 열2, ...] ASC LIMIT 5; -- 데이터 가공하기 SELECT 1 - 2 + 2 * 3; SELECT MOD(10, 3) SELECT ROUND(30.60, 1) SELECT CONCAT('우아한', '형제들') SELECT SUBSTRING('20190422', 1, 4) SELECT CURDATE(); SELECT CURTIME(); -- 데이터 집계하기 SELECT COUNT(*) FROM [테이블명] SELECT DISTINCT [열명] FROM [테이블명] SELECT SUM([열명]) FROM [테이블명] 데이터 다루기 - 심화 -- 쿼리 중첩하기 SELECT MIN(a) FROM sample; DELETE FROM sample WHERE a = (SELECT MIN(a) FROM sample); SELECT (SELECT COUNT(*) FROM [Customers] WHERE Country = 'Germany') AS GermanyCount, (SELECT COUNT(*) FROM [Customers] WHERE Country = 'Mexico') AS MexicoCount; SELECT * FROM (SELECT FirstName, LastName FROM [Employees] WHERE EmployeeID < 10); SELECT * FROM [OrderDetails] WHERE Quantity = (SELECT MAX(Quantity) FROM [OrderDetails]); -- 서브쿼리가 부모쿼리와 연관된 경우 DELETE FROM [Customers] WHERE EXISTS (SELECT * FROM [Orders] WHERE OrderDate >= “1996-07-08”); — 여러테이블 다루기: 합집합 SELECT Country FROM [Customers] UNION SELECT Country FROM [Suppliers] ORDER BY Country; SELECT Country FROM [Customers] UNION ALL SELECT Country FROM [Suppliers] ORDER BY Country; — 여러테이블 다루기: 내부결합 SELECT * FROM [Products], [Employees] WHERE [Employees].EmployeeID = [Products].SupplierID; SELECT * FROM [Products] INNER JOIN [OrderDetails] ON Products.ProductID = OrderDetails.ProductID; — 여러테이블 다루기: 외부결합 SELECT * FROM [Products] LEFT JOIN [Employees] ON [Employees].EmployeeID = [Products].SupplierID; SELECT * FROM [Employees] RIGHT JOIN [Products] ON [Employees].EmployeeID = [Products].SupplierID;
🚀 SQL 쿼리문 적용해보기
기본 쿼리문을 살펴보았으니 이제 미션에 적용해볼 시간이다. 코치 CU의 미션은 주어진 3가지 과제를 해결할 수 있는 SQL문을 작성하는 것이었다. 실습 사이트에는 아래와 같은 데이터베이스가 준비되어 있다. 각 테이블의 이름을 클릭하면 ‘SELECT * FROM [테이블명];’ 쿼리문이 자동 실행된다. 이제 한 문제씩 해결해보자!
첫 번째 미션 해결! ✌️
미션 1. 200개 이상 팔린 상품명과 그 수량을 수량 기준 내림차순으로 보여주세요.
첫 번째 미션을 위해 필요한 항목은 ‘상품명(ProductName)’, ‘판매수량(Quantity)’이고, 각각 ‘Products’테이블과, ‘OrderDetails’테이블에서 구할 수 있다.
(왼쪽그림) Products 테이블 / (오른쪽그림) OrderDetails 테이블
다음과 같이 순차적으로 접근하면 원하는 테이블을 구성할 수 있다. 2개의 테이블 연결할 때에 INNER JOIN [테이블2] ON 조건 방식을 사용하였다.
— 1. 두 테이블 ProductID 로 서로 연결하기 SELECT Products.ProductName, OrderDetails.Quantity FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID; — 2. 판매수량을 ProductName 별로 합치기 SELECT Products.ProductName, SUM(OrderDetails.Quantity) FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID GROUP BY Products.ProductName; — 3. 판매수량이 200 이상인 상품만 필터링하기 SELECT Products.ProductName, SUM(OrderDetails.Quantity) AS OrderQuantity FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID GROUP BY Products.ProductName HAVING SUM(OrderDetails.Quantity) >= 200 — 4. 판매수량 내림차순으로 정렬하기 SELECT Products.ProductName, SUM(OrderDetails.Quantity) AS OrderQuantity FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID GROUP BY Products.ProductName HAVING SUM(OrderDetails.Quantity) >= 200 ORDER BY OrderQuantity DESC;
(왼쪽그림) 1번 실행결과 / (중앙그림) 2번,3번 실행결과 / (오른쪽그림) 4번 실행결과
두 번째 미션 해결! ✌️
미션 2. 많이 주문한 순으로 고객 리스트(ID, 고객명)를 구해주세요. (고객별 구매한 물품 총 개수)
두 번째 미션을 위해 필요한 항목은 ‘고객 아이디(CustomerID)’, ‘고객 이름(CustomerName)’,) ‘Quantity(주문 수량)’이고, 각각 ‘Customers’테이블과, ‘Orders’, ‘OrderDetails’테이블에서 구할 수 있다.
(왼쪽그림) Customers 테이블 / (중앙그림) Orders 테이블 / (오른쪽그림) OrderDetails 테이블
첫 번째 미션에서 활용했던 구문을 그대로 활용해보자. 이번에는 테이블 3개를 연결해야하는데 이때는 INNER JOIN 구문을 한번 더 적어주기만 하면 된다. A – B – C 순으로 연결할 것이라면 FROM 뒤에는 A 테이블을 적어주어야 한다는 점에 유의하자.
— 1. [Orders]-[OrderDetails] 두 테이블 OrderID 로 서로 연결하기 SELECT Orders.CustomerID, OrderDetails.Quantity FROM Orders INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID; — 2. 주문수량을 ProductName 별로 합치기 SELECT Orders.CustomerID, SUM(OrderDetails.Quantity) AS OrderQuantity FROM Orders INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID GROUP BY Orders.CustomerID; — 3. Customers 테이블 연결해서 고객이름 표시하기 SELECT Orders.CustomerID, Customers.CustomerName, SUM(OrderDetails.Quantity) AS OrderQuantity FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID GROUP BY Orders.CustomerID; — 4. 주문수량 내림차순으로 정렬하기 SELECT Orders.CustomerID, Customers.CustomerName, SUM(OrderDetails.Quantity) AS OrderQuantity FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID GROUP BY Orders.CustomerID ORDER BY OrderQuantity DESC;
(왼쪽그림) 1번 실행결과 / (중앙그림) 2번 실행결과 / (오른쪽그림) 4번 실행결과
세 번째 미션 해결! ✌️
🚨주의: 아래의 해설을 정답이 아닙니다. (서니 제보 감사해요!)
Customer 중에 아예 구매를 하지 않은 2명이 있어서 INNER JOIN이 아닌 LEFT JOIN이나 RIGHT JOIN으로 작성해야 정답 인원 수 91명이 산출됩니다!
미션 3. 많은 돈을 지출한 순으로 고객 리스트를 구해주세요.
세 번째 미션을 위해 필요한 항목은 ‘고객 아이디(CustomerID)’, ‘고객 이름(CustomerName)’, ‘Quantity(주문 수량)’, Price(가격)이고, 각각 ‘Customers’테이블과, ‘Orders’, ‘OrderDetails’테이블, ‘Products’테이블에서 구할 수 있다.
(왼쪽그림) Orders 테이블 / (중앙그림) OrderDetails 테이블 / (오른쪽그림) Products 테이블
이번에는 테이블 4개를 연결해야하는데, 역시 INNER JOIN 구문을 이용하니 어렵지 않게 해결할 수 있었다.
— 1. [OrderDetails]-[Products] 두 테이블 OrderID 로 서로 연결하기 SELECT SUM(OrderDetails.Quantity * Products.Price) AS PaymentAmount FROM OrderDetails INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID; — 2. [Orders] 테이블 추가로 연결하기 SELECT Orders.CustomerID, SUM(OrderDetails.Quantity * Products.Price) AS PaymentAmount FROM Orders INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID GROUP BY Orders.CustomerID; — 3. [Customers] 테이블 연결해서 고객이름 표시하기 SELECT Orders.CustomerID, Customers.CustomerName, SUM(OrderDetails.Quantity * Products.Price) AS PaymentAmount FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID GROUP BY Orders.CustomerID; — 4. 결제금액 내림차순으로 정렬하기 SELECT Orders.CustomerID, Customers.CustomerName, SUM(OrderDetails.Quantity * Products.Price) AS PaymentAmount FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID GROUP BY Orders.CustomerID; ORDER BY SUM(OrderDetails.Quantity * Products.Price) DESC;
(왼쪽그림) 1번 실행결과 / (중앙그림) 2번 실행결과 / (오른쪽그림) 4번 실행결과
참고자료
생활코딩 – 데이터베이스 MySQL강의
SQL 개념 및 SQL 쿼리문 정리[TIL 2021.08.26]
SQL
Structured Query Language의 줄임말로써, 번역하면 구조적인 Query언어를 의미
쿼리(Query)
직역하면 “질의문” 이라는 뜻
조금더 풀어 쓰자면 저장되어져 있는 정보를 필터하기 위한 질문
SQL 쿼리문
CREATE DATABASE
데이터 베이스를 새로 생성할 때 사용.
기본문법
CREATE DATABASE [데이터베이스 명]
예시
CREATE DATABASE testDB
DROP
데이터 베이스 자체를 삭제할때 사용
테이블을 삭제 할때도 사용가능
기본문법
DROP DATABASE [데이터베이스 명]
DROP TABLE [테이블명]
예시
DROP DATABASE testDB ; DROP TABLE Persons ;
ALTER
테이블에 컬럼을 추가 및 삭제할때 사용
기본문법
ALTER TABLE [테이블명] ADD [추가할 컬럼이름] 데이터형(데이터크기) 컬럼속성
ALTER TABLE [테이블명] DROP COLUMN [삭제할 컬럼이름]
예시
ALTER TABLE Persons ADD Birthday DATE ; ALTER TABLE Persons DROP COLUMN Birthday ;
TRUNCATE
DELETE와 다르게 테이블에 있는 데이터를 한번에 제거
테이블이 최초 생성되었을 당시의 Storage만 남김(CREATE TABLE 한 직후의 상태가 됨)
DROP과의 차이점은 DROP은 테이블을 완전히 날려버리지만 TRUNCATE는 테이블이 남기 때문에 재사용 가능
기본문법
TRUNCATE TABLE [테이블명]
CRAEAT TABLE
데이터베이스에 테이블을 새롭게 추가할 때 사용
CREATE DATABASE로 데이터베이스를 생성한 후, use [데이터베이스]로 해당 데이터 베이스를 사용한다고 선언한 후 CREAT TABLE [테이블명]을 이용하여 테이블을 만듬
테이블을 만들시에는 필드(컬럼)또한 같이 만들어 주어야함.
기본문법
CREATE TABLE 테이블명
예시
CREATE TABLE Persons ( PersonID int , LastName varchar ( 255 ) , FirstName varchar ( 255 ) , Address varchar ( 255 ) , City varchar ( 255 ) ) ;
Select
SELECT는 데이터셋에 포함될 특성을 특정함
예시
SELECT DISTINCT Country FROM Customers ; SELECT City FROM Customers ; SELECT * FROM Customers ;
From
테이블과 관련한 작업을 할 경우 반드시 입력을 해야함.
FROM 뒤에는 결과를 도출해낼 데이터베이스 테이블을 명시
Distinct
데이터의 중복을 제거 할 때 사용
select절에 distinct 키워드만 명시하면 되므로 쿼리문이 복잡하지 않고 간결
유니크한 값을 받고 싶을 때에는 SELECT DISTINCT 를 사용
예시
SELECT DISTINCT Country FROM Customers ;
Where
필터 역할을 하는 쿼리문 WHERE은 선택적으로 사용할 수 있으며 쉽게 이야기하면 조건문이다.
예시
SELECT * FROM Customers WHERE City = ‘Berlin’ ; SELECT * FROM Customers WHERE NOT City = ‘Berlin’ ; SELECT * FROM Customers WHERE City = ‘Berlin’ AND PostalCode = 12209 ; SELECT * FROM Customers WHERE City = ‘Berlin’ OR PostalCode = 12209 ;
Order By
데이터 결과를 어떤 기준으로 정렬하여 출력할지 결정 ORDER BY는 선택적으로 사용할 수 있다.
Defalt값은 ACS(오름차순) 이며 DESC(내림차순)으로 설정도 가능하다.
Order By의 경우 다중으로 사용이 가능하며 이럴 경우 , 로 구분을 해주어야 함.
예시
SELECT * FROM Customers ORDER BY City ; SELECT * FROM Customers ORDER BY City DESC ; SELECT * FROM Customers ORDER BY Country , City ;
Insert
테이블에 데이터를 추가할 수 있다.
insert다음에는 into가 따라옴.
기본구조
INSERT INTO 테이블 이름 (column,column, …)
VALUE (값1, 값2, …)
예시
INSERT INTO Customers ( CustomerName , Address , City , PostalCode , Country ) VALUES ( ‘Hekkan Burger’ , ‘Gateveien 15’ , ‘Sandnes’ , ‘4306’ , ‘Norway’ ) ;
Null
내가 보려고하는 필드의 값이 Null인지 아닌지 확일할 때 사용.
null인지 아닌지 확인하기 위해서는 IS Null을 사용해야함.
만약 null이 아닌것만 확인해보려면 IS NOT Null을 입력하면됨
예시
SELECT * FROM Customers WHERE PostalCode IS NULL ; SELECT * FROM Customers WHERE PostalCode IS NOT NULL ;
테이블에 데이터를 수정할때 사용
보통 UPDATE와 SET는 하나의 세트임
기본형태
UPDATE [테이블] SET [column] = ‘변경할값’ WHERE [조건] 조건이 없는 경우에는 테이블에 있는 열 전체가 변경할 값으로 UPDATE됨.
예시
UPDATE Customers SET City = ‘Oslo’ ; UPDATE Customers SET City = ‘Oslo’ WHERE Country = ‘Norway’ ; UPDATE Customers SET City = ‘Oslo’ , Country = ‘Norway’ WHERE CustomerID = 32 ;
Delete
테이블에서 행을 제거하기위해 delete를 사용
delete의 경우 WHERE(조건문)으로 지정해준 것의 모든 행을 제거하며 만약 조건을 지정해주지 않는다면 모든 행을 다 삭제 해버림
DELETE의 경우에는 FROM으로 어느 테이블을 지울것인지 기재를 해야함.
기본형태
DELETE FROM [테이블] WHERE [조건]
예시
DELETE FROM Customers WHERE Country = ‘Norway’ ; DELETE FROM Customers ;
집계함수 MIN()
매개변수로 주어진 column내에서 가장 작은 값을 반환
주로 SELECT구문과 함께 사용
기본형태
SELECT MIN(column) FROM [테이블명]
예시
SELECT MIN ( Price ) FROM Products ;
집계함수 MAX()
매개변수로 주어진 column내에서 가장 큰 값을 반환
주로 SELECT구문과 함께 사용
기본형태
SELECT MAX(column) FROM [테이블명]
예시
SELECT MAX ( Price ) FROM Products ;
집계함수 COUNT()
테이블 전체의 행 숫자를 알고 싶다면 COUNT(*)
특정 column의 숫자를 확인하려면 COOUNT(column명)
만약 특정 컬럼의 값이 null이 있다면 count세지 않음.
기본형태
SELECT COUNT() FROM [테이블명] WHERE 조건식
예시
SELECT * FROM Products WHERE Price = 18.00 ; SELECT COUNT ( * ) FROM Products WHERE Price = 18.00 ;
집계함수 AVG()
평균을 계산해주는 함수
기본형태
SELECT AVG(column) FROM [테이블명]
예시
SELECT AVG ( Price ) FROM Products ;
집계함수 SUM()
특정 컬럼의 합을 계산해주는 함수
기본형태
SELECT SUM() FROM [테이블명]
예시
SELECT SUM ( Price ) FROM Products ;
Like
WHERE절에 주로 사용하며 부분적으로 일치하는 컬럼을 찾을 때 사용
A%(A로 시작하는 문자 찾기) , %A%(A를 포함하는 문자 찾기) , %A(A로 끝나는 문자 찾기) , A_(A로 시작하는 두글자 문자 찾기)
기본형태
SELECT * FROM [테이블명] WHERE LIKE [조건]
예시
SELECT * FROM Customers WHERE City LIKE ‘a%’ ; SELECT * FROM Customers WHERE City LIKE ‘%a’ ; SELECT * FROM Customers WHERE City LIKE ‘%a%’ ; SELECT * FROM Customers WHERE City LIKE ‘a%b’ ; SELECT * FROM Customers WHERE City NOT LIKE ‘a%’ ; SELECT * FROM Customers WHERE City LIKE ‘_a%’ ; SELECT * FROM Customers WHERE City LIKE ‘[acs]%’ ; SELECT * FROM Customers WHERE City LIKE ‘[a-f]%’ ; SELECT * FROM Customers WHERE City LIKE ‘[!acf]%’ ;
IN
WHERE절 내에서 특정값 여러개를 선택하는 SQL 연산자
괄호안의 값중 일치하는 것이 있으면 true
기본문법
SELECT * FROM [테이블명] WHERE [컬럼명] IN(값,값)
예시
SELECT * FROM Customers WHERE Country IN ( ‘Norway’ , ‘France’ ) ; SELECT * FROM Customers WHERE Country NOT IN ( ‘Norway’ , ‘France’ ) ;
Between
번역하면 무엇무엇 사이에 라는 뜻이므로 특정한 범위나 값 사이에 있는 값을 가져오라는 것
BETWEEN A AND B : A와 B사이의 내용을 검색해서 가져오라는 것
기본문법
SELECT * FROM [테이블] WHERE [컬럼] BETWEEND A AND B
예시
SELECT * FROM Products WHERE Price BETWEEN 10 AND 20 ; SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20 ; SELECT * FROM Products WHERE ProductName BETWEEN ‘Geitost’ AND ‘Pavlova’ ;
Alias (as)
별칭이라고도하며 값에 별칭을 주어 접근을 별칭 형태로 할 수 있도록 하는것.
대표적으로 알아보기 힘든 칼럼에 AS를 많이 사용함
예시
SELECT CustomerName , Address , PostalCode AS Pno FROM Customers ; SELECT * FROM Customers AS Consumers ;
Join
둘 이상의 테이블을 연결해서 데이터를 검색하는 방법
연결하려면 테이블들이 적어도 하나의 공통된 컬럼이 있어야함.
Join의 종류
1. INNER JOIN : 내부 조인(교집합)
2. LEFT/ RIGHT JOIN -> 부분 집합
아래 블로그 글을 참조하면 더 이해가 잘됨.
https://pearlluck.tistory.com/46
아래유튜브 35강,36강을 봐도 이해하는데 도움이 많이 됨.
예시
SELECT * FROM Orders LEFT JOIN Customers ON Orders . CustomerID = Customers . CustomerID ; SELECT * FROM Orders INNER JOIN Customers ON Orders . CustomerID = Customers . CustomerID ; SELECT * FROM Orders RIGHT JOIN Customers ON Orders . CustomerID = Customers . CustomerID ;
Group By
그룹화하여 데이터 조회
Count함수로 데이터를 조회할 경우 전체 갯수만 가져오게 되는데 유형별로 갯수를 알고 싶을때 해당 컬럼에 GROUP BY를 사용하면 유형별로 갯수를 알 수 있음.
기본 문법
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼
예시
SELECT Count ( CustomerID ) , Country FROM Customers GROUP BY Country ; SELECT COUNT ( CustomerID ) , Country FROM Customers GROUP BY Country ORDER BY COUNT ( CustomerID ) DESC ;
아래 유튜브 30강을 보면 더 이해가 잘됨
참조:https://www.w3schools.com/sql/exercise.asp?filename=exercise_database7
https://pearlluck.tistory.com/46
So you have finished reading the 쿼리 문 topic article, if you find this article useful, please share it. Thank you very much. See more: 쿼리문 예제, 쿼리문 뜻, 쿼리문 작성, mysql 쿼리문, 쿼리문 정리 사이트, 쿼리문 조건, 쿼리문 select, 쿼리문 종류