본문 바로가기
반응형

Data Base/SQL13

[SQL] : 정렬을 위한 ORDER BY 절 정렬을 위한 ORDER BY 절 정렬은 크기 순서대로 나열하는 것으로 오름차순(ASC)과 내림차순(DESC)로 나눌 수 있습니다. ASC 오름차순 DESC 내림차순 숫자 작은 값부터 정렬 큰 값부터 정렬 문자 사전 순서로 정렬 사전 역순으로 정렬 날짜 빠른 날짜 순서로 정렬 늦은 날짜 순서로 정렬 NULL 가장 마지막에 나온다. 가장 먼저 나온다. 표로 쉽게 보면 오름차순과 내림차순을 쉽게 구분할 수 있습니다. 로우를 정렬하기 위해 select 문에 order by 절을 추가하고 어떤 컬럼을 기준으로 어떤 정렬을 할 것인지 결정해야 합니다. ASC 오름차순 select * from emp order by sal asc; 급여 컬럼을 오름차순 정렬한 것을 볼 수 있습니다. 숫자는 작은 값부터 큰 값으로 정.. 2021. 11. 30.
[SQL] : NULL을 위한 연산자 NULL을 위한 연산자 select * from emp where comm=null; #예시를 위한 오류코드입니다. NULL 값은 = 연산자로 판단할 수 없습니다. select * from emp where comm is null; IS NULL 연산자로 커미션을 받지 않는 사원을 검색할 수 있습니다. 아래에서 조금 더 자세히 보겠습니다. COMM이 NULL값인 데이터만 가져왔습니다. 2021. 11. 30.
[SQL] : LIKE 연산자와 와일드카드 LIKE 연산자와 와일드 카드 LIKE 연산자는 검색하고자 하는 값을 정확히 모를 때 사용합니다. 와일드카드 % 사용하기 select * from emp where ename like 'F%'; 검색하고자 하는 이름을 정확히 모를 때 F를 맨 앞에 포함하고 그 뒤를 모른다는 뜻으로 F% 처럼 사용합니다. %는 어떤 문자가 몇 개가 오든지 상관이 없다는 의미를 가지고 있습니다. select * from emp where ename like '%A%'; 이름 중 A를 포함하는 사원을 검색합니다. 문자 앞,뒤에 %를 써주면 중간에 A라는 문자만 있으면 앞,뒤에 문자열이 몇 개가 오든 없이 찾습니다. 와일드카드 _ 사용하기 select * from emp where ename like '_A%'; _ 는 어떤 .. 2021. 11. 30.
[SQL] : IN 연산자 IN 연산자 select * from emp where comm=300 or comm=500 or comm=1400; 커미션이 300이거나 500이거나 1400인 사원을 검색하기 위한 쿼리입니다. OR을 사용해야 합니다. OR 연산자 대신 간단하게 IN 연산자를 사용할 수도 있습니다. select * from emp where comm in(300, 500, 1400); 이렇게 쓰면 or 연산자보다 간단한데 결과 값은 똑같습니다. select * from emp where comm not in(300, 500, 1400); COMM이 300, 500, 1400이 아닌 사원을 모두 가져왔습니다. not in 연산자를 사용했습니다. select * 2 from emp 3 where comm300 and co.. 2021. 11. 30.
[SQL] : BETWEEN AND 연산자 Between and 연산자 select 2 * 3 from 4 emp 5 where 6 sal >= 2000 and sal 3000; sal(급여)이 2000 미만이거나 3000 초과인 사원을 검색하기 위해 or 연산자를 활용할 수도 있습니다. select 2 * 3 from 4 emp 5 where 6 hiredate between '1981/01/01' and '1981/12/31'; between and 연산자는 숫자 뿐만 아니라 문자형과 날짜형에도 사용할 수 있습니다. 주의할 점은 비교 대상이 되는 값을 작은 따옴표로 감싸줘야 합니다. 2021. 11. 30.
[SQL] : WHERE 문으로 조건에 맞는 데이터 검색하기 조건에 맞는 데이터 검색 select 2 * 3 from 4 emp 5 where 6 deptno = 10; deptno(부서번호)가 10번인 데이터만 조회합니다. where 문법을 통해 조건을 걸 수 있습니다. 문자 데이터 조회 select 2 empno, ename, sal 3 from 4 emp 5 where 6 ename = 'FORD'; 이름이 FORD인 사원의 empno(사원번호), ename(사원이름), sal(급여)를 출력하는 예제입니다. SQL 쿼리는 대소문자를 딱히 구분하지 않지만 ename에 들어가는 테이블 내에 저장된 데이터 값은 대소문자를 구분하기 때문에 ename = 'ford';로 사용하면 조회가 되지 않습니다. 날짜 데이터 조회 select 2 * 3 from 4 emp 5 .. 2021. 11. 28.
[SQL] : SQL 편집 명령어 편집 명령어 명령어 설명 LIST (L) 버퍼에 저장된 모든 SQL문, 검색한 라인의 SQL문을 나타냅니다. / SQL문을 보여주지 않고 바로 실행합니다. RUN (R) 버퍼에 저장된 SQL문을 보여주고 실행합니다. select 2 ename, sal*12+nvl(comm,0) 3 from 4 emp; 편집 명령을 실행해 보기 위해서 연봉을 계산하는 쿼리를 작성했습니다. L 연봉을 계산하는 쿼리문을 다시 한 번 나타내기 위해서 LIST라는 명령어를 사용합니다. LIST의 약어인 L을 입력합니다. / 버퍼에 저장된 쿼리문을 실행시키기 위해서 /를 입력합니다. R SQL 버퍼에 저장된 쿼리문을 실행하는 R명령어입니다. R명령어는 L명령어 + /명령어라고 볼 수 있습니다. 2021. 11. 27.
[SQL] : 파일 명령어 SQL 파일 명령어 파일 명령어는 보관중인 버퍼의 내용을 영구적으로 기록하기 위해서 파일에 저장하는 명령어입니다. 명령어 설명 EDIT (ED) 파일의 내용을 vi(유닉스)나 notepad(윈도우즈)와 같은 에디터로 읽어 편집을 할 수 있도록 합니다. HOST 오라클을 종료하지 않고 OS 명령어를 수행할 수 있게 OS 환경으로 잠시 빠져나갈 수 있도록 합니다. HOST로 OS를 잠시 빠져나간 상태에서는 EXIT를 통해 다시 Oracle로 돌아올 수 있습니다. SAVE SQL 버퍼 내의 현재 내용을 실제 파일로 저장합니다. @ SQL 파일에 저장된 내용을 실행합니다. SPOOL 오라클 화면을 갈무리하여 파일로 저장합니다. GET 파일의 내용을 SQL 버퍼로 읽어 들입니다. EXIT 오라클을 종료합니다. 파.. 2021. 11. 27.
[SQL] : Concatenation 연산자와 Distinct 키워드 Concatenation 연산자 정의 Concatenation는 연결이라는 뜻을 가지고 있습니다. 오라클에서 사용하는 Concatenation 연산자는 여러 개의 컬럼을 연결할 때 사용하고 연산자로는 || (수직바)를 사용합니다. select 2 ename ||'is a'|| job 3 from 4 emp; || 를 통해서 컬럼과 문자열 사이에 기술하여 하나로 연결하여 출력하면 됩니다. is a를 이름과 직업 사이에 넣어줬고 출력 결과를 보면 정상적으로 이름과 직업 사이에 is a가 추가된 것을 확인할 수 있습니다. DISTINCT 키워드 select 2 deptno 3 from 4 emp; 사원들이 소속되어 있는 부서 번호를 출력했습니다. 부서 번호 20에 속한 사람도 여럿이고, 30에 속한 사람도 여.. 2021. 11. 15.
[SQL] : 컬럼 이름에 별칭 부여하기 SQL 별칭 부여 select 2 ename, sal*12+nvl(comm,0) 3 from 4 emp; SQL에서 쿼리문의 결과가 출력될 때 컬럼 이름이 컬럼에 대한 헤딩(heading)으로 출력이 됩니다. select 2 ename, sal*12+nvl(comm,0) as Annsal 3 from 4 emp; 컬럼 이름 대신 별칭을 사용하려면 AS라는 키워드를 쓰고 별칭을 사용해 주면 됩니다. 위에 Annsal을 A만 대문자 나머지는 소문자로 적었는데 출력은 모두 다 대문자로 된 것을 확인할 수 있습니다. select 2 ename, sal*12+nvl(comm,0)"A n n s a l" 3 from 4 emp; 대문자와 소문자를 구분하고 싶으면 " " 안에 적어주면 됩니다. " "를 통해 별칭을 .. 2021. 11. 15.
[SQL] : NULL (널) NULL null(널)은 매우 중요한 데이터 입니다. 오라클에서는 컬럼에 널 값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못 하면 쿼리문을 사용하는데 있어 원하는 결과를 얻기 어려울 수 있습니다. 정의 - 0(zero)가 아닙니다. - 빈 공간이 아닙니다. - 미확정, 알 수 없는 값을 의미합니다. - 어떤 값인지 알 수 없지만 분명 존재하고 있습니다. - ? 혹은 ∞ 의 의미로 사용되므로 연산, 할당, 비교가 불가능합니다. 예시 select 2 ename, sal, job, comm, sal*12, sal*12+comm 3 from 4 emp; 연봉을 계산하는 쿼리를 보면 SALESMAN은 COMM이 있으므로 연봉이 정상적으로 계산이 되었습니다. 심지어 COMM을 0을 받은 사람도 정상적으로.. 2021. 11. 15.
[SQL] : 데이터를 조회하는 SELECT 문 SELECT - SQL 명령어는 하나의 문장으로 구성되어야 하는데 여러 개의 절이 모여서 문장이 되는 것이고 문장들은 반드시 세미콜론[ ; ]으로 마쳐야 합니다. - [ * ](all, 올)은 테이블 내 모든 컬럼을 출력하고자 할 때 사용합니다. SELECT 컬럼 FROM 테이블 - SELECT문 기초 구성입니다. SELECT * FROM DEPT; - DEPT 테이블의 모든 컬럼을 조회하는 명령어입니다. - 부서 테이블 내 어떤 컬럼이 저장되어 있는지 확인할 수 있습니다. - 모든 칼럼을 조회하길 원하지 않고 몇 개만 따로 조회하길 원한다면 [ * ] 대신에 컬럼명을 적어주면 됩니다. - 조회하고자 하는 컬럼이 여러개면 [ , ] 콤마를 넣어 원하는 컬럼들을 추가하면 됩니다. 2021. 10. 31.
[SQL] : 데이터 딕셔너리 및 테이블 구조 확인 OracleDB를 사용하고 Scott 사용자를 활성화 시켜서 실습합니다. SQL은 대문자와 소문자를 가리지 않기 때문에 본인 알아서 대,소문자 구분해서 사용하시면 됩니다. 데이터 딕셔너리 TAB SELECT * FROM TAB; - TAB는 TABLE의 약자로 테이블의 정보를 알려주는 데이터 딕셔너리입니다. 테이블 구조를 확인하는 DESC DESC DEPT - DEPT는 부서의 정보를 저장하고 있습니다. - DEPT의 구조를 살펴보기 위해 DESC 명령어를 사용했습니다. - DESC 명령어는 테이블의 컬럼 이름, 데이터 형, 길이, NULL 허용 유무 등 특정 테이블의 정보를 알려줍니다. - DEPT 테이블에 DEPTNO(부서번호), DNAME(부서명), LOC(지역명)이렇게 3개의 컬럼이 있습니다. D.. 2021. 10. 31.
반응형