Top 31 데이터베이스 쿼리 The 196 Correct Answer

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: 데이터베이스 쿼리 데이터베이스 쿼리란, SQL 쿼리, 데이터 쿼리, 쿼리문 where, sql 쿼리문, SQL 쿼리문 예제, 쿼리문 작성, db query문


[컴활1급필기] 데이터베이스 일반_ 쿼리(Query)
[컴활1급필기] 데이터베이스 일반_ 쿼리(Query)


[Database] DB Query 개념 및 방법

  • Article author: chobopark.tistory.com
  • Reviews from users: 46243 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Database] DB Query 개념 및 방법 쿼리란 데이터베이스에 정보를 요청하는 것입니다. 쿼리는 웹 서버에 특정한 정보를 웹 클라이언트 요청에 의해 처리하는 것이며,. 검색된 결과를 … …
  • Most searched keywords: Whether you are looking for [Database] DB Query 개념 및 방법 쿼리란 데이터베이스에 정보를 요청하는 것입니다. 쿼리는 웹 서버에 특정한 정보를 웹 클라이언트 요청에 의해 처리하는 것이며,. 검색된 결과를 … 안녕하세요. 오늘은 DB의 쿼리에 대해 이야기해보고자 합니다~ 쿼리의 사전적 의미는 ‘질의어, 의문’이란느 뜻입니다. 쿼리란 데이터베이스에 정보를 요청하는 것입니다. 쿼리는 웹 서버에 특정한 정보를 웹 클..
  • Table of Contents:

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

티스토리툴바

[Database] DB Query 개념 및 방법
[Database] DB Query 개념 및 방법

Read More

SQL 기초 & 자주쓰는 쿼리문 정리

  • Article author: 365kim.tistory.com
  • Reviews from users: 16385 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about SQL 기초 & 자주쓰는 쿼리문 정리 우리는 일상 속에서 ‘DB’ 또는 ‘데이터베이스’라는 단어를 어렵지 않게 접한다. 보통 ‘관리 목적으로 데이터를 모아놓은 것’을 의미할 때 … …
  • Most searched keywords: Whether you are looking for SQL 기초 & 자주쓰는 쿼리문 정리 우리는 일상 속에서 ‘DB’ 또는 ‘데이터베이스’라는 단어를 어렵지 않게 접한다. 보통 ‘관리 목적으로 데이터를 모아놓은 것’을 의미할 때 … SQL을 배워야하는 이유 데이터베이스와 SQL 우리는 일상 속에서 ‘DB’ 또는 ‘데이터베이스’라는 단어를 어렵지 않게 접한다. 보통 ‘관리 목적으로 데이터를 모아놓은 것’을 의미할 때 사용한다. 이 ‘데이터베이스’..
  • Table of Contents:

SQL을 배워야하는 이유

📌 SQL 자주 쓰는 쿼리문

🚀 SQL 쿼리문 적용해보기

참고자료

태그

‘General’ Related Articles

태그

최근 포스트

검색

티스토리툴바

SQL 기초 & 자주쓰는 쿼리문 정리
SQL 기초 & 자주쓰는 쿼리문 정리

Read More

[DB] SQL 기초 – 1 (SQL 정의 및 종류, 쿼리 예제)

  • Article author: hojak99.tistory.com
  • Reviews from users: 38033 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [DB] SQL 기초 – 1 (SQL 정의 및 종류, 쿼리 예제) SQL (Structured Query Language) : – 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다. – 사용 방법이나 문법이 다른 언어(Java, C, C#, … …
  • Most searched keywords: Whether you are looking for [DB] SQL 기초 – 1 (SQL 정의 및 종류, 쿼리 예제) SQL (Structured Query Language) : – 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다. – 사용 방법이나 문법이 다른 언어(Java, C, C#, … SQL (Structured Query Language) :  – 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다.  – 사용 방법이나 문법이 다른 언어(Java, C, C#, Java)보다 단순하다.  – 모든 DBMS에서 사용 가능하다.  ..2017.08.01 취직~~~
  • Table of Contents:
[DB] SQL 기초 – 1 (SQL 정의 및 종류 쿼리 예제)

티스토리툴바

[DB] SQL 기초 - 1 (SQL 정의 및 종류, 쿼리 예제)
[DB] SQL 기초 – 1 (SQL 정의 및 종류, 쿼리 예제)

Read More

데이터베이스 기초 Query 문법

  • Article author: velog.io
  • Reviews from users: 33202 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 데이터베이스 기초 Query 문법 Sprint – Database & SQL. Intro Database & SQL. Query문 사용. 스키마 설계와 더 나은 방향성 찾기. SQL: Structure Query Language(구조화 된 … …
  • Most searched keywords: Whether you are looking for 데이터베이스 기초 Query 문법 Sprint – Database & SQL. Intro Database & SQL. Query문 사용. 스키마 설계와 더 나은 방향성 찾기. SQL: Structure Query Language(구조화 된 … Query문 사용스키마 설계와 더 나은 방향성 찾기SQL: Structure Query Language(구조화 된 Query 언어)Query: 직역하면 질의문 이라는 의미저장되어 있는 정보를 필터하기 위한 질문결국 SQL이란 데이터베이스 용 프로그래밍 언어, 데이터베이
  • Table of Contents:

TIL(Today I Learned)

Intro Database & SQL

Learn SQL – Part 1

Learn SQL – Part 2

데이터베이스 기초 Query 문법
데이터베이스 기초 Query 문법

Read More

데이터베이스 생성(쿼리,테이블,column,row) :: 호잇.

  • Article author: hoit89.tistory.com
  • Reviews from users: 17190 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 데이터베이스 생성(쿼리,테이블,column,row) :: 호잇. 맛보기에서 사용했던 show database; 나중에 쓰게될 쿼리문들(Select, Update, Insert등) 모두 DB에 명령(요청)을 해서 원하는 정보를 추출하는 구조 … …
  • Most searched keywords: Whether you are looking for 데이터베이스 생성(쿼리,테이블,column,row) :: 호잇. 맛보기에서 사용했던 show database; 나중에 쓰게될 쿼리문들(Select, Update, Insert등) 모두 DB에 명령(요청)을 해서 원하는 정보를 추출하는 구조 … 쿼리(Query)란? 우리가 배우고 있는 SQL의 약자는 Structured Query Language이다 여기서 Query = 문의, 의문, 질의, 문의하다 이런 뜻이다 데이터베이스에 질문을 해서 정보를 얻는 구조이다 맛보기에서 사용..
  • Table of Contents:
데이터베이스 생성(쿼리,테이블,column,row) :: 호잇.
데이터베이스 생성(쿼리,테이블,column,row) :: 호잇.

Read More

쿼리 – 해시넷

  • Article author: wiki.hash.kr
  • Reviews from users: 3837 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쿼리 – 해시넷 쿼리(Query)란 데이터베이스나 파일의 내용 중 원하는 내용을 검색하기 위하여 몇 개의 코드(code)나 키(Key)를 기초로 질의하는 것을 말한다. …
  • Most searched keywords: Whether you are looking for 쿼리 – 해시넷 쿼리(Query)란 데이터베이스나 파일의 내용 중 원하는 내용을 검색하기 위하여 몇 개의 코드(code)나 키(Key)를 기초로 질의하는 것을 말한다.
  • Table of Contents:

위키

목차

개요[편집]

SQL[편집]

각주[편집]

참고자료[편집]

같이 보기[편집]

쿼리 - 해시넷
쿼리 – 해시넷

Read More

데이터베이스 간 쿼리 사용 예 – Amazon Redshift

  • Article author: docs.aws.amazon.com
  • Reviews from users: 36309 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 데이터베이스 간 쿼리 사용 예 – Amazon Redshift 다음 예를 사용하여 Amazon Redshift 데이터베이스를 참조하는 데이터베이스 간 쿼리를 설정하는 방법에 대해 알아봅니다. 시작하려면 Amazon Redshift 클러스터에서 … …
  • Most searched keywords: Whether you are looking for 데이터베이스 간 쿼리 사용 예 – Amazon Redshift 다음 예를 사용하여 Amazon Redshift 데이터베이스를 참조하는 데이터베이스 간 쿼리를 설정하는 방법에 대해 알아봅니다. 시작하려면 Amazon Redshift 클러스터에서 … Amazon Redshift에 대한 데이터베이스 간 쿼리를 실행하는 방법을 보여주는 예제를 사용합니다.Amazon Redshift,AWS Redshift,Redshift,Redshift Spectrum,클러스터,데이터 웨어하우스,샘플 데이터,데이터베이스,HLL
  • Table of Contents:
데이터베이스 간 쿼리 사용 예 - Amazon Redshift
데이터베이스 간 쿼리 사용 예 – Amazon Redshift

Read More


See more articles in the same category here: 533+ tips for you.

[Database] DB Query 개념 및 방법

반응형

안녕하세요. 오늘은 DB의 쿼리에 대해 이야기해보고자 합니다~

쿼리의 사전적 의미는 ‘질의어, 의문’이란느 뜻입니다.

쿼리란 데이터베이스에 정보를 요청하는 것입니다.

쿼리는 웹 서버에 특정한 정보를 웹 클라이언트 요청에 의해 처리하는 것이며,

검색된 결과를 자유로이 조회할 수 있는 기능을 지원하는 것이 특징입니다.

주제어가 검색엔진의 검색필드 내에 입력된 다음, 그 내용이 웹 서버로 넘겨집니다.

아래는 간단히 몇가지 쿼리를 알아보려합니다.

실제로 많이 사용되는 쿼리문들이며 아래 쿼리들을 숙지하시면 간단한 프로그램을 개발하는데는

충분하다고 생각합니다 !

WHERE

select * from tbl_equip where eq_ym = ‘2020-05’

LIKE

select * from tbl_equip where eq_hobby like ‘%등산%’

(%는 앞에 글 뒤로 오는 ‘등산’을 불러온다.)

AND

select * from tbl_equip where eq_hobby like ‘%등산’ and eq_org =’ ‘ and eq_maker is not null

(String 빈칸인 경우 ‘ ‘로 표시 / NULL불러올때는 IS NULL 아닌경우 IS NOT NULL)

특정데이터 불러오기

select *, substr(modi_date,1,10) as mdate from tbl_equip where substr(modi_date,1,10) = ‘2020-02-04’

크고 작은 연산법

select * from tbl_equip where eq_ym < '2020-05' -- select * from tbl_equip where 33 < eq_idx and eq_idx < 85 LEFT OUTER JOIN select A.*,B.ag_code,B.au_title from tbl_pds as A left outer join tbl_authcommon as B on A.pd_code=B.ag_code where A.pd_code='content1' SUBQUERY select * , (select code_name From tbl_common_code where del_yn = 'N' and ptrn_code = '737' and main_code = eq_cate) as eq_cate_name from tbl_equip (as는 ~이라 명칭한다.라는 뜻) COUNT select * from ( select ID, count(*) as cnt from Table group by ID ) as X where cnt > 1

중복 컬럼에 대한 조회 COUNT

select * from Table where ID in(‘컬럼값들~’, ‘yyn0811’, ‘yys6174’, ‘zio1001’);

반응형

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강의

1 (SQL 정의 및 종류, 쿼리 예제)

SQL (Structured Query Language) :

– 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다.

– 사용 방법이나 문법이 다른 언어(Java, C, C#, Java)보다 단순하다.

– 모든 DBMS에서 사용 가능하다.

– 인터프리터 언어

– 대소문자 구별하지 않는다.

DML :

– 데이터베이스의 테이블에 있는 내용을 직접 조작하는 기능

– 테이블의 레코드를 CRUD (Create, Retrieve, Update, Delete)

SQL 문 내용 insert 데이터베이스 객체에 데이터를 입력 delete 데이터베이스 객체에 데이터를 삭제 update 데이터베이스 객체 안의 데이터 수정 select 데이터베이스 객체 안의 데이터 조회

DDL :

– 데이터베이스의 스키마를 정의, 생성, 수정하는 기능

– 테이블 생성, 컬럼 추가, 타입 변경, 각종 제약조건 지정, 수정 등

SQL 문 내용 create 데이터베이스 객체를 생성 drop 데이터베이스 객체를 삭제 alter 기존에 존재하는 데이터베이스 객체를 다시 정의

DCL :

– 데이베이스의 테이블에 접근 권한이나 CRUD 권한을 정의하는 기능

– 특정 사용자에게 테이블의 조회권한 허가 / 금지 등

SQL문 내용 grant 데이터베이스 객체에 권한을 부여 revoke 이미 부여된 데이터베이스 객체 권한을 취소

CRUD (Create, Retrieve, Update, Delete) :

이름 조작 SQL create read (retrieve) 생성 읽기 (인출) insert select update 갱신 update delete (destroy) 삭제 delete

Create : 데이터베이스 객체 생성

– insert into

– 새로운 레코드를 추가

Update : 데이터베이스 객체 안의 데이터 수정

– update

– 특정 조건의 레코드의 컬럼 값을 수정

Delete : 데이터베이스 객체의 데이터 삭제

– delete

– 특정 조건의 레코드를 삭제

Retrieve : 데이터베이스 객체 안의 데이터 검색

– select

– 조건을 만족하는 레코드를 찾아 특정 컬럼 값(모두 표시 *)을 표시

select 명령문 :

select 컬럼명 from 테이블명 where 조건절;

– “world” DB에서의 쿼리 예제

국가 코드가 ‘KOR’ 으로 되어 있는 도시들의 이름을 구하시오 select Name from city where CountryCode=’KOR’; 인구가 500만 이상인 도시들의 이름을 구하시오 select Name from city where Population > 5000000;

insert into 명령문 :

insert into 테이블명 (컬럼명) values (값);

– 예제

# 각각의 필드와 대응 시켜줘서 insert 를 시켜주어야 한다. insert into city (ID, Name, CountryCode, District, Population) values (10000, “Sample”, “KOR”, “Test”, 1000000); # 이 경우에는 모든 컬럼 값들이 일일히 필드와 대응되면 생략 가능 insert into city values (20000, “SampleTest”, “KOR”, “Test”, 2000000);

– 결과 확인

# ID 가 100000 인 레코드 출력 select * from city where ID = 20000; # ID 가 200000 인 레코드 출력 select * from city where ID = 10000;

update 명령문 :

update 테이블명 set 컬럼명=값, ….. where 조건절;

– 예제

# ID 가 10000 인 레코드의 name 을 “SampleRevised” 로 변경 update city set name = “SampleRevised” where id = 10000;

– 결과 확인

# ID 가 100000 인 레코드 출력 select * from city where ID = 10000;

delete 명령문 :

delete from 테이블명 where 조건절;

– 예제

# ID 가 20000 이며 Population 이 2000000 인 레코드를 삭제 delete from city where (ID = 20000) AND (Population = 2000000); # ID 가 10000 이며 Population 이 1000000 인 레코드를 삭제 delete from city where (ID = 10000) AND (Population = 1000000);

– 결과 확인

# ID 가 100000 인 레코드 출력 select * from city where ID = 10000; # ID 가 200000 인 레코드 출력 select * from city where ID = 20000;

반응형

So you have finished reading the 데이터베이스 쿼리 topic article, if you find this article useful, please share it. Thank you very much. See more: 데이터베이스 쿼리란, SQL 쿼리, 데이터 쿼리, 쿼리문 where, sql 쿼리문, SQL 쿼리문 예제, 쿼리문 작성, db query문

Leave a Comment