20230619 공부노트

라영진·2023년 6월 19일
0

Java 학습일지

목록 보기
19/35

지난 시간 문제풀이

상품 테이블(Products)에서 가격(Price)으로 오름차순

select *
from Products
order by Price asc;

상품 테이블(Products)에서 가격(Price)으로 오름차순으로 하되, 만일 똑같은 가격이 있으면 번호(ProductID)순으로 내림차순해라.

select *
from Products
order by Price asc, ProductID desc;

주문상세 테이블(OrderDetail)에서 주문번호(orderid) 순으로 오름차순, 주문번호가 똑같으면 주문수량(quantity)으로 내림차순

select *
from OrderDetails
order by OrderID asc, Quantity desc;


Products 테이블에서 ProductId와 SupplieId와 CategoryId를 더한 새로운 값으로 새로운 컬럼을 만들고 이름을 NewId로 정하기

select *, ProductID + SupplierID + CategoryID as NewId
from Products;

Products 테이블에서 Price가 20 이상이고 50 이하인 행만 조회

select Price
from Products
where Price between 20 and 50;

Products 테이블에서 Price가 20 미만이거나 50 초과인 행만 조회

select *
from Products
where Price < 20 or Price > 50;

Customers에서 country가 Brazil, Spain, France 고객 조회

select *
from Customers
where Country in ('Brazil', 'Spain', 'France');


Customers 테이블에서 CustomerName이 Co로 끝나는 행만 조회

select *
from Customers
where CustomerName like '%Co';

Customers 테이블에서 Country가 A로 시작하는 결과만 조회

select *
from Customers
where Country like 'A%';

Products 테이블에서 ProductName이 C로 시작하고 e로 끝나는 행만 조회

select *
from Products
where ProductName like 'C%e';

Employees 테이블에서 FirstName이 A로 시작하지 않는 행만 조회

select *
from Employees
where FirstName not like 'A%';


상품중 가장 비싼 상품의 상품번호와 상품명

select ProductID, ProductName, max(Price)
from Products;

전체 상품의 평균 가격을 소수점 1자리까지 반올림해서 보여주세요.

select round(avg(Price),1)
from Products;


주문 날짜가 현재날짜로부터 며칠이 지났는지 확인하기.

select datediff(now(), OrderDate)
from Orders;

<CHAT GPT를 이용한 예제용 테이블 만들기>
-- 회원 테이블
CREATE TABLE Members (
MemberID INT PRIMARY KEY AUTO_INCREMENT,
Username VARCHAR(50) NOT NULL UNIQUE,
Password VARCHAR(50) NOT NULL,
RealName VARCHAR(50) NOT NULL,
Nickname VARCHAR(50) NOT NULL UNIQUE
);

-- 게시판 테이블
CREATE TABLE Boards (
BoardID INT PRIMARY KEY AUTO_INCREMENT,
BoardName VARCHAR(50) NOT NULL UNIQUE
);

-- 게시물 테이블
CREATE TABLE Posts (
PostID INT PRIMARY KEY AUTO_INCREMENT,
Title VARCHAR(100) NOT NULL,
Content TEXT NOT NULL,
AuthorID INT NOT NULL,
Views INT DEFAULT 0,
ModifiedDate DATETIME,
CreatedDate DATETIME NOT NULL,
BoardID INT NOT NULL,
FOREIGN KEY (AuthorID) REFERENCES Members (MemberID),
FOREIGN KEY (BoardID) REFERENCES Boards (BoardID)
);

-- 좋아요 테이블
CREATE TABLE Likes (
LikeID INT PRIMARY KEY AUTO_INCREMENT,
MemberID INT NOT NULL,
PostID INT NOT NULL,
UNIQUE (MemberID, PostID),
FOREIGN KEY (MemberID) REFERENCES Members (MemberID),
FOREIGN KEY (PostID) REFERENCES Posts (PostID)
);

-- 댓글 테이블
CREATE TABLE Comments (
CommentID INT PRIMARY KEY AUTO_INCREMENT,
Content TEXT NOT NULL,
AuthorID INT NOT NULL,
PostID INT NOT NULL,
FOREIGN KEY (AuthorID) REFERENCES Members (MemberID),
FOREIGN KEY (PostID) REFERENCES Posts (PostID)
);

profile
보더콜리 2마리 키우는 개발자

0개의 댓글