본문 바로가기
DB

[ORACLE] SQL - 1

by 달보드레. 2020. 6. 2.

 

SELECT : SELECT은 테이블에 있는 데이터를 조회하는 명령어이다

 

백문이 불여일견 

문제로 알아보자

 

https://www.hackerrank.com/

 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

문제는 여기서 풀어볼 수 있다

 

 

문제에서 City 테이블 내의 모든 열에 대한 컬럼을 조회하라고 한다

 

그렇다면?

 

select * from city;

 

이렇게 출력이 된다

 

다음 문제

City 테이블 내에서 ID가 1661인 컬럼을 조회하라고 한다

 

* WHERE

WHERE은 조건을 걸때 사용하는것으로

WHERE '컬럼명' '조건' 이런식으로 사용된다.

비교연산자 ( = , >= , <= , < , > )

비교연산자의 경우 문자열도 비교 가능한데

WHERE NAME < 'B'

이런식으로 NAME 이라는 컬럼이 있다면

A로 시작하는 이름을 가진 값이 조회된다

 

논리연산자 ( AND, OR, NOT 

AND > 모두 만족일 경우 , OR > 둘중 하나만 만족할 경우 

 

이밖에도 IN , BETWEEN , IS (NOT) NULL 이 있다

IN은 AND 와 유사하며

BETWEEN은 OR과 유사하다

WHERE 에서 값을 여러개 넣는 조건 쿼리문이 길어질 경우

불편해질 경우에 사용한다

 

IS (NOT) NULL은 특별한 값으로 테이블내에 값이 입력되지 않은 부분이 있을수 있는데

이때 이부분을 검색하기 위해 사용된다

 

 

여기선 ID 가 1661인 경우이므로 

select * from city where id = 1661;

 

이렇게 출력이 된다

 

다음 문제

인구수가 100000보다 큰 모든 미국 도시들에 대한 컬럼을 조회하라고 한다

위에서 배운 WHERE 와 AND를 곁들이면 쉽게 가능하다

select * from CITY  where POPULATION > 100000 AND COUNTRYCODE = 'USA';

 

 

 

다음 문제

 

 

City테이블에서 모든 일본인들에 대한 속성(Attributes)들을 쿼리하라고 한다 

 

* 속성(Attributes)란?

관계형 데이터베이스에선 Column = Attributes이다

ORACLE은 관계형 데이터베이스이다

 

일본인들을 쿼리하라고 하니

조건에 국적을 일본으로 주면 된다

문제에 CountryCode를 JPN으로 알려준다

 

Like - 특정 문자를 포함한 검색
컬럼에 들어가있는 값들 중 특정 문자가 포함되어 있는 값을 조회하고자 할 경우 사용
where 컬럼명 [NOT] like (%) 검색할 값 ( _ , % ) 

 

검색할 대상이 아리송할때는 LIKE를 쓰는게 좋지만

명확하게 알때는 LIKE 보다 = 를 쓰는게 좋다 = 가 더 빠르다

 

select * from city where COUNTRYCODE like 'JPN';

 

 



'DB' 카테고리의 다른 글

오라클 11g 시퀀스 2부터 시작 오류  (0) 2020.05.23
Oracle 시퀀스 (SEQUENCE)  (0) 2020.05.22
Oracle - SYSDATE  (0) 2020.05.20
Oracle 계정 추가 , 잠긴 계정 활성화 하는법  (0) 2020.05.19
MYSQL - SQL 기초  (0) 2020.05.19