Hi Hi

'SQLite'에 해당되는 글 1건

  1. SQLite Database - SELECT문으로 DB 정보찾기

SQLite Database - SELECT문으로 DB 정보찾기

 

파이썬에 기본적으로 DB, SQLite를 내장하고 있다.
SQL(사용자와 관계형 데이터 베이스를 연결 시켜주는 표준검색언어) SELECT 문에 대해 알아보겠습니다.

DB를 배우거나 관리하는데 있어서, DB를 도스창에서 실행하고 확인하기에 명령어 때문에 겪는 어려움을 해결하기 위해
윈도우에 간단하게 확인하고 관리가능 한 툴을 소개하고,  SELECT문에 대해 알아보겠습니다.

SQLite Database Browser [다운로드]
- 설치가 없고 간단합니다.
- 안드로이드도 SQLite를 사용하기 때문에 안드로이드 개발자에게도 유용한 툴입니다.

 

 

 
SELECT문

SELECT 필드명 FROM 테이블명

select * from address  // * 는 모든 필드값을 불러옵니다.
select addressID,addressline1 from address  // Address의 테이블에서 addressID와 addressline1의 필드값만을 불러 옵니다. 



 SELECT문 활용하기
SELECT 필드명 FROM 테이블명 WHERE 필드( 조건, 내가 찾고자 하는 지정단 값) , GROUP BY( 그룹을 지정)

select addressID,addressline1,city from address where city='Bothell' 
// address 테이블에서 city가 'Bothell' 인 정보를 불어옵니다.

select addressID,addressline1,city from address where CountryRegion='United States'
//  CountryRegion가 'United States'인 정보를 불러 옵니다.

※ '문자'가 기본이며, 문자를  나타낼때 '' 안에 입력해야 합니다.   숫자를 나타낼때는 ''를 사용하지 않습니다.


AND , OR

select * from address where CountryRegion='United Stated' and StateProvince='Texas' or StateProvince='Arizona'

select * from address where CountryRegion='United Stated' and (StateProvince='Texas' or StateProvince='Arizona')


SELECT COUNT(*) FROM 테이블명

select count(*) from customers
// customers 테이블의 갯수을 출력합니다.

select SalesPerson, count(*) from customers where SalesPerson='adventure-works/linda3'
// SalesPerson가 'adventure-works/linda3' 인 정보의 갯수를 출렵합니다.




SELECT COUNT(*) FROM 테이블명 GROUP BY 필드명

select SalesPerson, count(*) from customers group by SalesPerson
// SalesPerson 을 그룹 별로 분리하여 갯수를 출력합니다.

select CustomerID count(*) from customers group by SalesPerson
//고객 별로 등록된 주소 갯수를 출력합니다.



SELSCT 필드명 FROM 테이블명 WHERE 조건 IN ( SELECT 필드명 FROM 테이블명) 

select * from customers WHERE SalesPerson Like'%linda3' AND CustomerID
 IN (SELECT customerID from Salesorderheader)
// linda3가 담장하는 고객중, 제품을 구매한 고객을 출력합니다.

select count(*) from customers WHERE SalesPerson Like'%linda3' AND CustomerID NOT IN (SELECT customerID from Salesorderheader)



HAVING

select CustomerID, Count(*) from customerAddress group by CustomerID having count(*) >=2

select CustomerID from customerAddress group by CustomerID having count(*) >=2

select * from customers WHERE CustomerID
 IN ( SELECT CustomerID From CustomerAddress group by CustomerID having count(*) >1 )
// 1개 이상 주소가 등록된 사용자를 불러 옵니다.



 
SELECT 문을 이용하여 데이터베이스의 조건에 맞게 정보를 빠르게 찾는 방법을 알아보았습니다.