yeony._.
๐Ÿข์ฝฉ๋ถ€๐Ÿข
yeony._.
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (99)
    • ๐Ÿ’ปProgramming (91)
      • โ˜•๏ธJava (19)
      • ๐Ÿ’ฝOracle (21)
      • ๐Ÿ‘ฉ‍๐ŸŽจHTML&CSS (12)
      • ๐ŸŽจ ์‹ค์Šต (4)
      • ๐Ÿƒ‍โ™€๏ธJavaScript (25)
      • JSP (8)
      • ๐ŸƒSpring (0)
      • ๐Ÿฅงpython (0)
      • API (0)
      • ๐Ÿ˜ˆGit (1)
    • ๐ŸคซPrivate (0)
      • -- (0)
      • + (0)
      • S (0)
      • P (0)
      • B (0)
    • ๐Ÿ˜ŽProject (4)
      • ๐Ÿ—“๏ธwbs ํ”„๋กœ์ ํŠธ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • HTML #CSS #HTML์ด๋ฏธ์ง€ #HTML์ด๋ฏธ์ง€์—๊ธ€์”จ #HTML์ด๋ฏธ์ง€์—์ด๋ฏธ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
yeony._.

๐Ÿข์ฝฉ๋ถ€๐Ÿข

[Oracle] DQL - Select
๐Ÿ’ปProgramming/๐Ÿ’ฝOracle

[Oracle] DQL - Select

2022. 8. 4. 00:22

1. SELECT ๐Ÿ”Ž

- ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ทฐ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜์—ฌ 0๊ฐœ ์ด์ƒ์˜ ํ–‰์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
-
 ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” DQL(data query language) ๋ช…๋ น์ด๋ฉฐ, DML(data manipulation language)์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ฐ„์ฃผ

- SELECT ๋ฌธ์€ ๋ฐ˜๋“œ์‹œ SELECT์™€ FROM์˜ ๋‘ ๊ฐœ์˜ ํ‚ค์›Œ๋“œ๋กœ ๊ตฌ์„ฑ

- SELECT์ ˆ ๋‹ค์Œ์—๋Š” ์ถœ๋ ฅํ•  ์ปฌ๋Ÿผ ๋ช…์ด๋‚˜ ํ‘œํ˜„ ์‹์„ ๊ธฐ์ˆ ํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์ปฌ๋Ÿผ ๋ช… ๋Œ€์‹  * (๋ชจ๋“  ์ปฌ๋Ÿผ ์ •๋ณด)
- FROM
์ ˆ ๋‹ค์Œ์—๋Š” ์กฐํšŒํ•  ํ…Œ์ด๋ธ”(๋ทฐ)์˜ ์ด๋ฆ„์„ ๊ธฐ์ˆ 

 

2. SELECT ๊ตฌ๋ฌธ ์ˆœ์„œ ๋ฐ ์‹คํ–‰ ์ˆœ์„œ 

SELECT ๊ตฌ๋ฌธ ๊ตฌํ˜„ ์ˆœ์„œ 

1) SELECT ์ปฌ๋Ÿผ๋ช…(ํ‘œํ˜„์‹)

2) FROM ํ…Œ์ด๋ธ”๋ช… 

3) WHERE ์กฐ๊ฑด์‹ 

4) GROUP BY ์ปฌ๋Ÿผ๋ช…(ํ‘œํ˜„์‹)

5) HAVING ์ง‘๊ณ„ํ•จ์ˆ˜ ์กฐ๊ฑด์‹ 

6) ORDER BY ์ปฌ๋Ÿผ๋ช… (ํ‘œํ˜„์‹)

 

SELECT ๊ตฌ๋ฌธ ์‹คํ–‰ ์ˆœ์„œ 

1) FROM ํ…Œ์ด๋ธ”๋ช…

2) WHERE ์กฐ๊ฑด์‹ 

3) GROUP BY ์ปฌ๋Ÿผ๋ช…(ํ‘œํ˜„์‹)

4) HAVING ์ง‘๊ณ„ํ•จ์ˆ˜ ์กฐ๊ฑด์‹ 

5) SELECT ์ปฌ๋Ÿผ๋ช…(ํ‘œํ˜„์‹)

6) ORDER BY ์ปฌ๋Ÿผ๋ช… (ํ‘œํ˜„์‹)

3. ํ…Œ์ด๋ธ” ๋ชฉ๋ก ํ™•์ธ

SELECT * FROM tabs;
SELECT * FROM tab;

 

4. ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ๋ฐ ํƒ€์ž… ํ™•์ธ 

SELECT * FROM cols WHERE tablle_name = ‘ํ…Œ์ด๋ธ”๋ช…’;
SELECT * FROM col WHERE tname = ‘ํ…Œ์ด๋ธ”๋ช…’;

 

 

5. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

+, -, *, /

 

๋ฌธ์ž์—ด ๊ฒฐํ•ฉ 

|| 

 

๊ด€๊ณ„ ์—ฐ์‚ฐ์ž 

  • >, >=, <, <=, =, !=, <>
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž 
  • AND, OR, NOT

 

SQL ์—ฐ์‚ฐ์ž 

  • BETWEEN : ์ปฌ๋Ÿผ๋ช… BETWEEN ๊ฐ’ AND ๊ฐ’
  • IN ์ปฌ๋Ÿผ๋ช… IN(๊ฐ’, ๊ฐ’, ๊ฐ’)

 

๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ 

  • SELECT ์ปฌ๋Ÿผ๋ช…, ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช…;
  • SELECT ์ปฌ๋Ÿผ๋ช… [AS] ๋ณ„๋ช…, ์ปฌ๋Ÿผ๋ช… [AS] ๋ณ„๋ช…;
  • SELECT ์ปฌ๋Ÿผ๋ช…, ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด;

 

 

โ–  SELECT ๋ฌธ์„ ์ด์šฉํ•œ ์กฐํšŒ

EMP ํ…Œ์ด๋ธ” : ์ž„ํ”Œ๋กœ์ด(EMPLOYEE, ์‚ฌ์›) ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”
์ปฌ๋Ÿผ ์ •๋ณด
     empNo : ์‚ฌ์›๋ฒˆํ˜ธ
     name : ์ด๋ฆ„
     rrn : ์ฃผ๋ฏผ๋ฒˆํ˜ธ
     hireDate : ์ž…์‚ฌ์ผ
     city : ์ถœ์‹ ๋„
     tel : ์ „ํ™”๋ฒˆํ˜ธ
     dept : ๋ถ€์„œ๋ช…
     pos : ์ง์œ„
     sal : ๊ธ‰์—ฌ
     bonus : ๋ณด๋„ˆ์Šค

 

SELECT ๋ฌธ 
ο ํ…Œ์ด๋ธ” ๋˜๋Š” ๋ทฐ์˜ ์ „์ฒด ๋ ˆ์ฝ”๋“œ(ํ–‰) ์ถœ๋ ฅ

-- ํŠน์ • ์ปฌ๋Ÿผ ๋งŒ ์ถœ๋ ฅ(emp ํ…Œ์ด๋ธ” : empNo, name, sal ์ปฌ๋Ÿผ)
DESC emp;

-- ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ์ถœ๋ ฅ 
SELECT ์ปฌ๋Ÿผ๋ช…, ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”;

SELECT empNO, name, sal FROM emp;
SELECT empNum, name, sal FROM emp; -- ์—๋Ÿฌ
--ORA-00904 (๋ถ€์ ์ ˆํ•œ ์‹๋ณ„์ž, ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ ์‚ฌ์šฉ)

SELECT name, city FROM emp;

-- ์ˆ˜์‹ ์‚ฌ์šฉ
SELECT 10+5 FROM dual;
SELECT 10/3 FROM dual;
SELECT '๊ฒฐ๊ณผ'|| (10*3) FROM dual;

SELECT 10+5 FROM emp; -- 60๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ 60๊ฐœ์˜ 15๊ฐ€ ์ถœ๋ ฅ
     
SELECT empNo, name, sal, bonus FROM emp;

SELECT empNo, name, sal, bonus, sal+bonus FROM emp;

SELECT empNo, name||'๋‹˜', sal, bonus, sal+bonus FROM emp;


-- ๋ชจ๋“  ์ปฌ๋Ÿผ ์ถœ๋ ฅ(emp ํ…Œ์ด๋ธ” : ๋ชจ๋“  ์ปฌ๋Ÿผ ์ถœ๋ ฅ)
-- emp ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ๋ช… ๋ฐ ์ปฌ๋Ÿผํƒ€์ž… ํ™•์ธ 
SELECT * FROM col WHERE tname = 'ENP';

DESC emp;


-- ์ปฌ๋Ÿผ๋ช…์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ถœ๋ ฅ(emp ํ…Œ์ด๋ธ” : empNo, name, sal ์ปฌ๋Ÿผ)
-- ์ถœ๋ ฅ๋˜๋Š” ์ปฌ๋Ÿผ์˜  ์ˆœ์„œ๋Š” ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
SELECT empNo, name, rrn, hireDate, city, tel, dept, pos, sal, bonus From emp;
SELECT * From emp;




-- AS ์ƒ๋žต ๊ฐ€๋Šฅ 
SELECT ์ปฌ๋Ÿผ๋ช… AS ๋ณ„๋ช…, ์ปฌ๋Ÿผ๋ช… AS ๋ณ„๋ช… FROM ํ…Œ์ด๋ธ”๋ช… 



SELECT empNo, name, sal FROM emp;



SELECT empNo, name, sal, bonus, sal + bonus FROM emp;

SELECT empNo, name, sal, bonus, sal + bonus AS pay FROM emp;

SELECT empNo ์‚ฌ๋ฒˆ, name ์ด๋ฆ„, sal ๊ธฐ๋ณธ๊ธ‰, bonus ๋ณด๋„ˆ์Šค , sal + bonus ๊ธ‰์—ฌ FROM emp;

SELECT empNo AS ์‚ฌ๋ฒˆ, name AS ์ด๋ฆ„, sal + bonus AS ์ด๊ธ‰์—ฌ FROM emp;

SELECT empNo AS "์‚ฌ ๋ฒˆ", name AS "์ด ๋ฆ„", sal + bonus AS "์ด ๊ธ‰ ์—ฌ" FROM emp;




 -- ํ…Œ์ด๋ธ” ๋ช…์— ๋ณ„๋ช… ๋ถ€์—ฌ(emp ํ…Œ์ด๋ธ” : ROWNUM๊ณผ ๋ชจ๋“  ์ปฌ๋Ÿผ ์ถœ๋ ฅ)

SELECT ROWNUM, empNo, name, sal FROM emp;


-- ROWNUM : ์ถœ๋ ฅ๋˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ํ–‰ ๋ฒˆํ˜ธ 

SELECT ROWNUM, * FROM emp; --์—๋Ÿฌ. *๋Š” ๋‹ค๋ฅธ ์ปฌ๋Ÿผ๊ณผ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ 

SELECT ROWNUM, emp.* FROM emp; 
SELECT ROWNUM, e.* FROM emp e; -- ํ…Œ์ด๋ธ”์— ๋ณ„๋ช…์ฃผ๊ธฐ(AS ์‚ฌ์šฉ ๋ถˆ๊ฐ€)

 

์กฐ๊ฑด์‹๊ณผ ํ‘œํ˜„์‹
   ο ๋น„๊ต ์—ฐ์‚ฐ์ž : =, >, <, <=, >=, <>, !=, ^=

-- emp ํ…Œ์ด๋ธ” : city๊ฐ€ ์„œ์šธ์ธ ์ž๋ฃŒ ์ค‘ name, city ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT name, city
FROM emp
WHERE city = '์„œ์šธ';

SELECT name, city
FROM emp
WHERE city <>'์„œ์šธ';

 -- emp ํ…Œ์ด๋ธ”: city๊ฐ€ ์„œ์šธ์ด ์•„๋‹Œ ์ž๋ฃŒ ์ค‘ name, city ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT name, city
FROM emp
WHERE city != '์„œ์šธ';

-- emp ํ…Œ์ด๋ธ” : sal+bonus ๊ฐ€ 2500000์› ์ด์ƒ์ธ ์ž๋ฃŒ ์ค‘ name, sal, bonus ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT name, sal, bonus
FROM emp
WHERE sal+bonus >= 2500000;

 SELECT name, sal, bonus,  sal+  bonus pay
FROM emp
WHERE pay >= 2500000;
-- ์—๋Ÿฌ: ORA-00904. 


--1) FROM ๊ตฌ๋ฌธ ๋ถ„์„ 
--2) WHERE ๊ตฌ๋ฌธ ๋ถ„์„ : pay๋Š” emp ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์ด ์•„๋‹ˆ๋ฏ€๋กœ ์˜ค๋ฅ˜ 
--3) SELECT์ ˆ ๊ตฌ๋ฌธ ๋ถ„์„  


ο ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž : AND, OR, NOT
-- emp ํ…Œ์ด๋ธ” : city๊ฐ€ ์„œ์šธ์ด๊ณ  sal๊ฐ€ 2000000์› ์ด์ƒ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, city, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT  empNo, name, city, sal
FROM emp
WHERE city = '์„œ์šธ' AND sal>= 2000000;
    

-- emp ํ…Œ์ด๋ธ” : city๊ฐ€ ์„œ์šธ, ๊ฒฝ๊ธฐ, ์ธ์ฒœ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, city, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT empNo, name, city, sal
FROM emp
WHERE city = '์„œ์šธ' OR city ='๊ฒฝ๊ธฐ' OR city ='์ธ์ฒœ';




-- emp ํ…Œ์ด๋ธ” : sal๊ฐ€ 2000000~3000000์„ ์ œ์™ธํ•œ ์ž๋ฃŒ ์ค‘ empNo, name, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ
SELECT  empNo, name, sal
FROM emp
WHERE sal < 2000000 OR sal > 300000;
 

 -- emp ํ…Œ์ด๋ธ” : ์„ฑ์”จ๊ฐ€ ใ„ฑ์”จ์ธ empNo, name ์ปฌ๋Ÿผ 
SELECT empNo, name
FROM emp
WHERE name > '๊ฐ€' AND name < '๋‚˜';

-- emp ํ…Œ์ด๋ธ” : dept๊ฐ€ ๊ฐœ๋ฐœ๋ถ€์ด๊ณ  pos๊ฐ€ ๋ถ€์žฅ, ๊ณผ์žฅ์ธ empNO, name, dept, pos, sal ์ถœ๋ ฅ  
SELECT empNO, name, dept, pos, sal 
FROM emp
WHERE dept = '๊ฐœ๋ฐœ๋ถ€' AND (pos = '๋ถ€์žฅ' OR pos ='๊ณผ์žฅ');   

-- emp ํ…Œ์ด๋ธ” : sal 200000~300000์ธ ์‚ฌ๋žŒ ์ค‘ city๊ฐ€ ์„œ์šธ, ๊ฒฝ๊ธฐ์ธ empNo, name, city, sal ์ถœ๋ ฅ 

SELECT  empNo, name, city, sal
FROM emp
WHERE sal>=2000000 AND sal<=3000000 AND (city = '์„œ์šธ' OR city = '๊ฒฝ๊ธฐ');


   ο ๊ทธ๋ฃน ๋น„๊ต ์—ฐ์‚ฐ์ž : ANY(SOME), ALL

-- emp ํ…Œ์ด๋ธ” : city๊ฐ€ '์„œ์šธ', '๊ฒฝ๊ธฐ', '์ธ์ฒœ' ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, city ์ปฌ๋Ÿผ ์ถœ๋ ฅ
-- ANY(SOME) : OR๊ณผ ์œ ์‚ฌ 


SELECT empNo, name, city 
FROM emp
WHERE city = ANY('์„œ์šธ', '๊ฒฝ๊ธฐ', '์ธ์ฒœ');




-- emp ํ…Œ์ด๋ธ” : sal๊ฐ€ 2000000์› ์ด์ƒ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ
         
SELECT empNo, name, city 
FROM emp
WHERE sal >= ANY(200000, 3000000, 5000000);

SELECT empNo, name, city

     -- emp ํ…Œ์ด๋ธ” : sal๊ฐ€ 2000000์› ์ด์ƒ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ
         
SELECT empNo, name, city 
FROM emp
WHERE sal >= ANY(200000, 3000000, 5000000);

SELECT empNo, name, city 
FROM emp
WHERE sal >= 2000000;

     -- emp ํ…Œ์ด๋ธ” : sal๊ฐ€ 3000000์› ์ด์ƒ์ธ ์ž๋ฃŒ ์ค‘ empNo, name, sal ์ปฌ๋Ÿผ ์ถœ๋ ฅ

SELECT empNo, name, sal
FROM emp
WHERE sal >= 3000000;
         

'๐Ÿ’ปProgramming > ๐Ÿ’ฝOracle' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Oracle] ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ(Data Dictionary)  (0) 2022.08.10
[ORACLE] ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ธ์–ด(DML)  (0) 2022.08.09
[ORACLE] ๋ฐ์ดํ„ฐ ์ •์˜์–ธ์–ด (DDL)  (0) 2022.08.09
[ORACLE] SQL ํ•จ์ˆ˜ - ๋‹จ์ผํ–‰ ํ•จ์ˆ˜  (0) 2022.08.05
[Oracle] ๊ธฐ๋ณธ์ ์ธ SQL  (0) 2022.08.04
    '๐Ÿ’ปProgramming/๐Ÿ’ฝOracle' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ORACLE] ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ธ์–ด(DML)
    • [ORACLE] ๋ฐ์ดํ„ฐ ์ •์˜์–ธ์–ด (DDL)
    • [ORACLE] SQL ํ•จ์ˆ˜ - ๋‹จ์ผํ–‰ ํ•จ์ˆ˜
    • [Oracle] ๊ธฐ๋ณธ์ ์ธ SQL
    yeony._.
    yeony._.
    ํž˜ ์„ธ์ง€๋Š” ์•Œ์•ฝ๐Ÿ’Š๐Ÿ’Š๐Ÿ’Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”