devforin
걸어서 개발속으로
devforin
전체 방문자
오늘
어제
  • in world's
    • 끄적임
    • Oracle SQL
    • Python
    • Java
    • Algorithm
    • dev-tools tip
    • 기술면접정리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • 소수판별
  • if문
  • python
  • Oracle
  • 개발자
  • 반복문
  • 오라클
  • 개발공부
  • for문
  • 공부
  • DB
  • 백엔드
  • DATABASE
  • 알고리즘
  • While문
  • SQL문법
  • java
  • sql
  • 취준생
  • 개발

최근 글

티스토리

hELLO · Designed By 정상우.
devforin

걸어서 개발속으로

Oracle SQL #2 desc, distinct, between, like, in, not like, not in, is null, in not null
Oracle SQL

Oracle SQL #2 desc, distinct, between, like, in, not like, not in, is null, in not null

2022. 3. 19. 14:36

* desc 테이블명 : table 구조 조회

desc student;	// 학생테이블의 정보 조회


* distinct : 중복 제거하여 조회하기. 한번만 사용.

select distinct deptno from professor;

- where 응용 .

학생중에 생일이 75년 이후에 태어난 학생의 이름, 학년, 생일 출력

select name, grade, birthday from student where birthday >= '1976/01/01';

* between연산자 

  - 컬럼명 between a and b : 컬럼의 값이 A와 A이상 B이하 인 경우 (매우 많이 사용됨)
  - between응용

  101 번 학과의 학생 중 몸무게 50이상 80 이하인 학생의 이름, 몸무게, 학과코드(deptno1) 조회하기

select name, weight, deptno1 from student 
where deptno1= 101 and weight between 50 and 80;

or

select name, weight, deptno1 from student 
where deptno1= 101 and weight >= 50 and weight <= 80;

* like 연산자 : 데이터에서 원하는 조건으로 검색할 수 있다.

-  % : 임의의 문자 0개 이상. 
-  _  : 임의의 문자 1개

- like 연산자 응용

학생 중 성이 김으로 시작하는 이름을 가진 학생의 이름과 부서코드 출력하기

select name, deptno1 from student where name like '김%';

학생 중 이름에 진 글자를 가진 학생의 이름과 부서코드 출력하기

select name, deptno1 from student where name like '%진%';

학생 중 이름에 2글자를 가진 학생의 이름과 부서코드 출력하기

select name, deptno1 from student where name like '__';

* in  연산자 : 원하는 값이 있는지 조회

  - in 연산자 응용

학생 중 학과가 101, 201,301 인 학생의 이름, 부서코드, 학년을 출력

select name, deptno1, grade from student where deptno1 in (101, 201);
select name, deptno1, grade from student where deptno1 = 101 or deptno1 = 201;

* not like : 포함하지 않는것. like의 반대

학생 중에 이름의 끝자가 '훈'이 아닌 학생의 한번, 이름, 학과코드를 출력하기

select studno, name, deptno1 from student where name not like '%훈';

- not in : 어떤 값을 포함하지 않는 것. in 연산자의 반대

사원테이블에서 부서코드가 10,30이 아닌 부서에 근무하는 사원의 이름, 부서코드, 급여 출력

select ename, deptno, sal from emp where deptno not in (10,30);

* null - 널 값인지, 아닌지 - 여부를 판단하는 명령어
- is null, is not null

교수 중 보너스가 없는 교수의 교수번호 이름 급여 보너스 출력

select profno, name, pay, bonus from professor where bonus is null;

- 교수 중 보너스가 있는 교수의 교수번호 이름 급여 보너스 출력

select profno, name, pay, bonus from professor where bonus is not null;

* null + 일반 값 = null -> null 값과 연산시 결과는 null 이 나온다

 

 

 

저작자표시 비영리 동일조건 (새창열림)

'Oracle SQL' 카테고리의 다른 글

Oracle SQL #6 Join  (4) 2022.03.20
Oracle SQL #5 그룹함수(group by), sum, avg, max, min, having  (0) 2022.03.19
Oracle SQL #4 문자 관련 함수,수 관련 함수, 날짜함수, 형변환 함수, 기타 함수  (0) 2022.03.19
Oracle SQL #3 Order by, union, Union all  (0) 2022.03.19
Oracle SQL #1 설치 및 기본 조회(Select, where), 임시컬럼, 별명주기, 기본 연산자  (0) 2022.03.19
    devforin
    devforin
    개발, 공부, 일상 기록을 위한 스케치북

    티스토리툴바