4_Oracle DML select from 기본 연산자(오라클 sql)
데이터 조작 기능은
원하는 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제로 분류할 수 있습니다.
데이터 조작 기능은 다음과 같은 함수를 이용해서 데이터들을 조작해 줄 수 있습니다.
그리고 SELECT 함수는
다음과 같은 커맨드와 함께 사용하면 다음 기능들을 이용할 수 있습니다.
이 사이트에서 sql학습을 해보실 수 있습니다.
sql말고도 파이썬이나 다른 언어들도 있으니
이용해보시는 것을 추천합니다.
0_ SQL기본 문법
RDBMS에는 데이터베이스안의 데이터들을 출력할 때 표 형태로 출력합니다.
이 테이블을 데이터테이블이라고 부르며
열은 컬럼(column) 행은 로(rows)라고 부릅니다.
이 테이블은 students데이터테이블입니다.
SELECT앞에는 원하는 컬럼명을 적어주며
FROM앞에는 데이터테이블 이름을 적어주면 됩니다.
SELECT고르다 FROM~로부터
영어의 기본 문법과 똑같습니다.
1_ SELECT기본
SELECT *
FROM products;
다음과 같이 *커맨드를 사용한다면
테이블의 모든 컬럼을 출력할 수 있습니다. 별로 추천하지 않는다고 합니다.
SELECT productid, productname, supplierid
FROM products;
이렇게 특정 컬럼의 이름을 콤마로 구분하여 작성해주면
원하는 컬럼의 데이터만 가져올 수 있습니다.
SELECT productid as “ID1”, productname as 이름, supplierid as “ID”
FROM products;
이렇게 as를 사용하여 열의 이름을 바꿔줄 수도 있습니다
한글은 그냥 적어도 되지만, ID같은 영어는 큰 따음표로 구분을 해줘야 합니다.
SELECT productname || unit
FROM products;
||이것은 연결 연산자입니다
컬럼과 컬럼을 연결해서 출력 가능합니다
저는 productname과 unit 을 연결시켜봤는데,
보통 이 기능은
SELECT productname || ‘의 개수는 ‘ || unit || ‘입니다.’ as 상품개수
FROM products;
이렇게 혼합해서 사용합니다.
깔끔하게 출력된 모습을 볼 수 있습니다.
SELECT DISTINCT categoryid
FROM products;
다음은 distinct라는 기능입니다
중복된 데이터를 제거해서 출력하는 기능인데,
데이터 테이블의 중복된 카테고리 id의 중복을 제거할 수 있습니다.
2_SELECT_ORDER_BY
SELECT productname, price
FROM products
ORDER BY price asc;
Order by는 데이터를 정렬해서 출력하게 해줍니다
보통 오름차순, 내림차순 으로 정렬을 하게 되는데,
그 기능을 asc 얘가 해줍니다.
출력된 표를 보시면, 가격이 오름차순으로 정렬되어있는것을 볼 수 있습니다.
SELECT productname, price
FROM products
ORDER BY price desc;
반대로 내림차순으로 정렬하고 싶으면
Desc 를 사용하면 됩니다.
가격이 내림차순으로 잘 정렬되어있는 모습을 볼 수 있습니다.
SELECT productname, supplierid, price
FROM products
ORDER BY supplierid asc, price desc;
이렇게 asc desc 를 동시에 사용할 수도 있습니다.
'컴퓨터 > SQL' 카테고리의 다른 글
6_Oracle DDL 테이블 생성 시 제약 조건, 키의 종류와 이상현상(KEY, ANOMALY) (0) | 2021.08.01 |
---|---|
5_Oracle DML select where 연산자-2(오라클 sql_select_조건출력_UPPER,LOWER_코딩 실행 순서) (0) | 2021.07.30 |
3_데이터 언어_SQL언어 구조 비교(DDL, DML, DCL) (0) | 2021.07.28 |
2_관계DBMS_엑셀과 비교 ( RDBMS, DB시스템, 오라클과 developer) (0) | 2021.07.25 |
1_데이터와 데이터베이스_파일 시스템과 비교 ( DB와 DBMS, 정보와 데이터) (0) | 2021.07.24 |
댓글