[1] Query 문
- 테이블 table - 행과 열로 이루어진 데이터 저장/ 관리 하는 저장소
(1) 기본 select 문 구조
select (검색하고자 하는 컬럼명) ——> select ename
from (table 명) —— >from emp;
참고로 emp = 사원테이블 입니다. (가상으로 만들어 놓은 테이블 )
사원테이블의 컬럼이 무엇이 있는지 조회하시오
describe emp;
테이블에서 모든열 (컬럼) 출력하기 (*)
select *
form emp;
설명 : * = 'asterisk' 를 사용하면 모든 컬럼들을 조회 할 수 있다.
(AS)컬럼 별칭
as 는 생략 가능
예제 : ename 을 이름으로, sal 은 월급으로 컬럼명 바꾸기
select ename as 이름 , sal as 월급
form emp
별칭에 Salary 라고 앞에 글자만 대문자로 나오려면 "Salary" 큰 따옴표 사용해 준다.
오라클 전체에서 " 더블 쿼테이션 마크" 를 사용해야 하는 경우는 ("")
- 컬럼 별칭을 출력할때 대소문자를 구분해서 출력하고 싶을때
- 공백문자, 특수문자 (_, $) 를 컬럼별칭에 사용하고 싶을때
(||)연결 연산자
select ename || ' 의 월급은' || sal ||' 입니다'
from emp;
→ 출력결과 : select ename || ' 의 월급은 ' || sal || ' 입니다.'
문자형 || 문자형 || 숫자형 || 문자형
sal 은 숫자형 데이터로 생성되어있어 앞뒤의 문자형과 숫자형이 충돌하는데
오라클이 알아서 sal 의 데이터를 숫자에서 - 문자로 형 변환(암시적형변환)을 시켜줘서
충돌없이 코딩이 실행 되었다. -> 실질적으로 좋은 코딩은 아니다.
(distinct) 중복된 데이터를 제거해서 출력하는 방법
직업이 중복되서 출력되는 것을 막고 하나씩만 출력 하는 방법이다.
select distinct job
from emp;
(order by 컬럼명 asc or desc) 데이터를 정렬하여 출력하기
order by 절에는 select 절의 컬럼 순서인 번호를 사용하여 컬럼을 작성 할 수 있다.
이름과 월급을 출력하는데 월급이 낮은 사람부터 출력 하세요
select ename, sal
from emp
order by sal asc ;
select ename, sal
from emp
order by 2 asc; # 컬럼 순서인 번호를 사용하여 컬럼을 작성 할 수 있다.
select 절에 컬럼이 없어도 테이블에 있는 컬럼들로 order by 절에 정렬을 할 수 있다.
asc : ascending : 오름 차순으로
desc : descening : 내림 차순으로
order by 절의 디폴트 값은 asc 입니다.
where 검색조건절
select ename, sal, job
from emp
where sal = 3000 ;
문자와 날짜는 양쪽에 ' 싱클 쿼테이션 마크' 로 둘러야 한다.
데이터는 대소문자를 구문하기 때문에 입력할때 대소문자를 구문해서 작성해야한다.
sql 문은 대소문자 상관없음 (select , from , 등등)
'Oracle > SQL' 카테고리의 다른 글
SQL 단일행 함수 - 문자함수 Instr (특정철자의 위치 출력) (0) | 2021.11.19 |
---|---|
SQL 단일행 함수 - 문자함수 Length (문자열길이출력) (0) | 2021.11.19 |
SQL 단일행 함수 - 문자함수 Substr( 문자에서 특정단어 or 철자 추출 ) (0) | 2021.11.19 |
SQL 단일행 함수 - 문자함수 upper,lower,initcap (대소문자) (0) | 2021.11.19 |
SQL 연산자 비교연산자, 논리연산자 (AND , OR, NOT 진리연산) (0) | 2021.11.19 |