데이터베이스/SQL

[SQL] SELECT, INSERT, UPDATE, DELETE

4Legs 2021. 2. 26. 16:44

SQL 실습 사이트

 

SQL Tryit Editor v1.6

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ver

www.w3schools.com

이 카테고리의 게시글들은 위 사이트의 테이블을 기준으로 작성되었다.

 

SELECT, UPDATE, DELETE

SELECT

  • 모든 고객의 정보를 조회
SELECT * FROM Customers;
  • 독일 국적의 모든 고객 정보를 조회
SELECT * FROM Customers WHERE Country = 'Germany';
  • 고객 아이디가 20 이상 40 이하인 모든 고객들을 조회
//조건식 사용
SELECT * 
FROM Customers 
WHERE CustomerID >= 20 AND CustomerID <= 40;

//BETWEEN 사용
SELECT * 
FROM Customers 
WHERE CustomerID BETWEEN 20 AND 40;
  • 고객 아이디가 28번인 고객과 같은 국적인 모든 고객들을 조회
//서브쿼리 사용
SELECT * 
FROM Customers 
WHERE Country = 
    (SELECT Country FROM Customers WHERE CustomerID = 28);
  • 국적이 영국 또는 독일인 고객의 아이디와 국적을 조회
SELECT CustomerID, Country
FROM Customers
WHERE Country in ('UK', 'Germany');
  • C로 시작하는 이름을 가진 모든 고객을 조회
SELECT * FROM Customers WHERE CustomerName LIKE 'C%';
  • 이름에 k가 들어가는 모든 고객을 조회
SELECT * FROM Customers WHERE CustomerName LIKE '%k%';

INSERT

  • Customer 테이블에 새 고객 데이터 추가
INSERT INTO Customers VALUES (100, '홍길동', 'Hong', '강남구', '서울', '111', 'South Korea');
  • Customer 테이블에 새 고객 데이터 추가 (아이디, 이름, 국적만 입력)
INSERT INTO Customers(CustomerID, CustomerName, Country) VALUES (100, '홍길동', 'South Korea');
  • Products 테이블에서 가격이 10달러 이상인 모든 제품을 Products_temp에 삽입
INSERT INTO Products_temp
SELECT * FROM Products WHERE Price >= 10;
  • EMP 테이블에 급여를 디폴트 값으로 넣기 (디폴트 값 : 100)
    • 해당 칼럼에 디폴트 값이 설정되어 있을 때만 사용 가능
//명시적 DEFAULT 사용
INSERT INTO Customers VALUES (100, '홍길동', 'Hong', '강남구', '서울', DEFAULT, 'South Korea');

//묵시적 DEFAULT 사용
INSERT INTO Customers VALUES (100, '홍길동', 'Hong', '강남구', '서울', 'South Korea');

UPDATE

  • Products 테이블에서 Chais 제품의 가격을 25로 수정
UPDATE Products SET Price = 25 WHERE ProductName = 'Chais';
  • Products 테이블에서 3번 제품의 가격을 15로, SupplierID를 3으로 수정
UPDATE Products SET SupplierID = 3, Price = 15 WHERE ProductID = 12;

DELETE

  • Customers 테이블에서 고객 아이디가 23인 고객 데이터를 삭제
DELETE FROM Customers WHERE CustomerID = 23;

//참조하고 있는 다른 테이블의 행도 삭제
DELETE FROM Customers WHERE CustomerID = 23 CASCADE;
  • Customers 테이블의 모든 내용을 삭제 (DELETE보다 빠름)
TRUNCATE TABLE Customers;

'데이터베이스 > SQL' 카테고리의 다른 글

[SQL] JOIN  (0) 2021.02.26
[SQL] GROUP BY, HAVING  (0) 2021.02.26
[SQL] ORDER BY  (0) 2021.02.26