231122 복습

2023. 11. 23. 15:072023.11.21-2024.05.31

※급여가 2500 이상이고 직업이 ANALYST인 사원 정보만 나오도록 코드를 채워보시오

SQL> SELECT SAL, JOB FROM EMP WHERE SAL>=2500, JOB =ANALYST;

SELECT SAL, JOB FROM EMP WHERE SAL>=2500, JOB =ANALYST

*

1행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다

SQL> SELECT SAL, JOB FROM EMP WHERE SAL>=2500 AND JOB =ANALYST;

SELECT SAL, JOB FROM EMP WHERE SAL>=2500 AND JOB =ANALYST

*

1행에 오류:

ORA-00904: "ANALYST": 부적합한 식별자

SQL> SELECT *FROM EMP WHERE SAL>=2500 AND JOB =ANALYST;

SELECT *FROM EMP WHERE SAL>=2500 AND JOB =ANALYST

*

1행에 오류:

ORA-00904: "ANALYST": 부적합한 식별자

SQL> SELECT*FROM EMP WHERE SAL>=2500, JOB = 'ANALYST';

SELECT*FROM EMP WHERE SAL>=2500, JOB = 'ANALYST'

*

1행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다

SQL> SELECT*FROM EMP WHERE SAL>=2500 AND JOB = 'ANALYST'; >정답

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7788 SCOTT ANALYST 7566 87/04/19 3000

20

7902 FORD ANALYST 7566 81/12/03 3000

20

>>어제와 같은 실수 문자에 ''를 쓰지 않았다

※OR연산자를 사용하여 여러 개 조건을 만족하는 데이터 출력하기

SQL> SELECT*FROM EMP

2 WHERE

3 JOB='MANAGER'

4 JOB='SALESMAN'

5 JOB='CLERK';

*

4행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다 >OR연산자 안씀

SQL> SELECT*FROM EMP

2 WHERE

3 JOB='MANAGER',

4 JOB='SALESMAN'

5 JOB='CLERK';

JOB='MANAGER',

*

3행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다>OR연산자 안쓰고 , 적음 4번행엔 쉼표도 안적음

SQL> SELECT*FROM EMP

2 WHERE

3 JOB='MANAGER',

4 JOB='SALESMAN',

5 JOB='CLERK';

JOB='MANAGER',

*

3행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다 >OR연산자를 써야한다고 바보야

SQL> SELECT *FROM EMP

2 WHERE JOB='MANAGER',

3 OR JOB='SALESMAN',

4 OR JOB='CLERK';

WHERE JOB='MANAGER',

*

2행에 오류:

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다>OR연산자 와 쉼표를 같이 써서 안된 것 같음

SQL> SELECT*FROM EMP

2 WHERE JOB='MANAGER'

3 OR JOB='SALESMAN'

4 OR JOB='CLERK'; >성공

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7369 SMITH CLERK 7902 80/12/17 800

20

7499 ALLEN SALESMAN 7698 81/02/20 1600 300

30

7521 WARD SALESMAN 7698 81/02/22 1250 500

30

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7566 JONES MANAGER 7839 81/04/02 2975

20

7654 MARTIN SALESMAN 7698 81/09/28 1250 1400

30

7698 BLAKE MANAGER 7839 81/05/01 2850

30

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7782 CLARK MANAGER 7839 81/06/09 2450

10

7844 TURNER SALESMAN 7698 81/09/08 1500 0

30

7876 ADAMS CLERK 7788 87/05/23 1100

20

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7900 JAMES CLERK 7698 81/12/03 950

30

7934 MILLER CLERK 7782 82/01/23 1300

10

11 개의 행이 선택되었습니다.]

※EMP 테이블을 사용하여 다음과 같이 사원 이름(ENAME)이 S로 끝나는 사원 데이터를 모두 출력하는 SQL문을 작성해 보세요.

SQL> SELECT *FROM EMP

2 WHERE ENAME('%_S');

WHERE ENAME('%_S')

*

2행에 오류:

ORA-00920: 관계 연산자가 부적합합니다>실패

SQL> SELECT *FROM EMP

2 WHERE ENAME='%_S';

선택된 레코드가 없습니다.>실패

SQL> SELECT * FROM EMP

2 WHERE ENAME LIKE '%S';>성공 LIKE 연산자 사용해야 했음

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7566 JONES MANAGER 7839 81/04/02 2975

20

7876 ADAMS CLERK 7788 87/05/23 1100

20

7900 JAMES CLERK 7698 81/12/03 950

'2023.11.21-2024.05.31' 카테고리의 다른 글

테이블  (0) 2023.11.23
231123 3일차(오라클)  (0) 2023.11.23
231122 2일차(오라클)  (1) 2023.11.23
2023.11.21 복습  (1) 2023.11.23
231121 1일차(오라클)  (2) 2023.11.23