독개

[SQL] Query문

by #독개#

🕹️ 실습 링크 바로가기

명명

SQL은 하나의 각각 Table로 이루어져 있다

Table에는 Column name(컬럼명)으로 구분이 되고, 내용이 순차적으로 행으로 쌓인다

우리가 데이터를 뽑아올때 필요한것
테이블명 (선택한 테이블에서)
컬럼명 (원하는 컬럼의 내용중)
내용조건 (어떠한 조건으로 내용을 가져올 것인가)

 

mysql테이블 구조 이미지

실습사이트

https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all 

 

MySQL Tryit Editor v1.0

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

www.w3schools.com

해당 사이트에 접속하면 따로 server를 구축하지 않더라도 간단하게 Query문을 작성해보고 테스트 해볼 수 있다

 

Query

테이블에서 원하는 컬럼 내용 보기

SELECT 컬럼명

FROM 테이블명

SELECT * FROM Customers; -- Customers테이블에서 모든 컬럼의 내용을 가져오자
--Customers테이블에서 3개의 컬럼을 가져온다
SELECT CustomerName, ContactName, Country
FROM Customers;
원하는 조건의 row(행)만 걸러서 보기
--Orders테이블에서 모든컬럼 가져오는데 EmployeeID 컬럼의 값이 3인 자료만
SELECT * FROM Orders
WHERE EmployeeID = 3;

--조건 연산자가능
SELECT * FROM OrderDetails 
WHERE Quantity < 5;
원하는 순서,정렬로 데이터 가져오기

오름차순 asc 기본

--모든 컬럼의 내용을 가져온다음 ContactName컬럼 기준 오름차순으로 정렬
SELECT * FROM Customers
ORDER BY ContactName;

--ProductID로 오름차순 진행하고 그다음 + Quantity로 내림차순 정렬
SELECT * FROM OrderDetails
ORDER BY ProductID ASC, Quantity DESC;
원하는 row의 수만큼만 가져오기

주로 게시판에 각 페이지별로 10개씩 보여주고 1페이지 2페이지 3페이지 이런식으로 할때 사용

--LIMIT {가져올 갯수} 또는 LIMIT {건너뛸 갯수}, {가져올 갯수} 를 사용하여, 원하는 위치에서 원하는 만큼만 데이터를 가져올 수 있습니다.

--0개 건너띄고(처음부터) 10개까지 가져온다
SELECT * FROM Customers
LIMIT 0, 10;
--생략시 0개건너 띄고 10개가져오는것
SELECT * FROM Customers
LIMIT 10;

--30개 건너띄고 10개 가져온다
SELECT * FROM Customers
LIMIT 30, 10;
원하는 별명(alias)으로 데이터 가져오기

AS를 사용해서 컬럼명을 변경해서 가져 온다 (실제 데이터베이스에 영향을 주는것은 아니다)

SELECT
  CustomerId AS ID,
  CustomerName AS NAME,
  Address AS ADDR
FROM Customers;

--한글도가능
SELECT
  CustomerId AS '아이디',
  CustomerName AS '고객명',
  Address AS '주소'
FROM Customers;
모두활용해보기
SELECT
  CustomerID AS '아이디',
  CustomerName AS '고객명',
  City AS '도시',
  Country AS '국가'
FROM Customers
WHERE
  City = 'London' OR Country = 'Mexico'
ORDER BY CustomerName
LIMIT 0, 5;

블로그의 정보

독한 개발자

#독개#

활동하기