SQL 명령어

Study/Oracle 2012. 6. 15. 14:58

① 검색


   SELECT * FROM table_name WHERE abc_column='a' ;


② 수정


   UPDATE  tabel_name  SET  a_column='a'  WHERE b_column='b' ;


③ 삽입


   INSERT INTO  table_name (a_column, b_column) VALUES ('a', 'b') ;


④ 삭제


   DELETE FROM  table_name  WHERE d_column='del' ;


   ※ TRUNCATE table_name;   ← 전체 레코드 삭제 ( DELETE FROM table_name 보다 빠름 )




 ① SELECT * FROM table_name WHERE abc_column='a' ORDER BY 

     

     a_column DESC LIMIT 100;

     

     └ order by a_column은 정열,oder by a_column desc는 역순정열,  limit 100 은 100개까지

 


     SELECT * FROM table_name WHERE a_column like '%aaa%';

     

       └ a_column 에서 aaa 를 포함하는 모든 레코드를 가져옴

 

     

     SELECT * FROM table_name WHERE a_column BETWEEN 10 AND 100;

   

       └ a_column 에서 10 ~ 100 사이의 값을 가진 레코드를 가져옴

 

   

     SELECT a_column FROM table_name GROUP BY a_column;

     

       └ a_column 의 같은 값끼리 그룹을 묶음.

 

     SELECT count(*) FROM table_name;

  

       └ 테이블의 전체 레코드 갯수를 가져옴



 ② UPDATE table_a SET table_a . a_column = table_b . a_column FROM 


     table_a, table_b WHERE table_a.a_column = table_b.a_column  ;


       └ 두개의 테이블에서 조건을 비교하여 업데이트

 

③ 문자관련 함수


    SELECT LEFT(a_column, 2) FROM table_name; 


    a_컬럼 에서 왼쪽부터 2자리 잘라서 가져온다.


    SELECT MID(a_column, 2, 4) FROM table_name;   


    a_컬럼 2자리부터 오른쪽으로 4자리 만큼 가져온다.


    SELECT RIGHT(a_column, 3) FROM table_name;   


    a_컬럼 에서 오른쪽부터 3자리 잘라서 가져온다.


    SELECT * FROM table_name WHERE LENGTH(a_column)=10;

 

    a_컬럼에서 길이가 10인 레코드만



    UPDATE table_name SET a_column=REPLACE(a_column,'변경전글자','변경후글자');


       └ a_컬럼의 '변경전글자' 라는 문자열을 '변경후글자'로 바꾸어 a_컬럼 수정


    UPDATE table_name SET a_column=TRIM(a_column);


       └ a_컬럼의 왼쪽 오른쪽 공백을 모두 제거


SELECT AVG(a_column),MIN(a_column),MAX(a_column),SUM(a_column) FROM table_name;

   

       └ AVG : 평균값, MIN : 최소값, MAX : 최대값, SUM : 합계


     SELECT version(),user(),database();


        └ MySQL 버젼 , 유저 , 데이터베이스명 보기



 ④ 날자관련 함수


    SELECT NOW();



 ⑤ JOIN : a_테이블 과 b_테이블 에서 a_컬럼의 값이 같은 레코드만 가져옴


    SELECT a_table.a_column, b_talbe.a_column


    FROM a_talbe, b_table


    WHERE a_table.a_column = b_table.a_column;

 

 

   INNER JOIN : 테이블A 와 테이블B를 비교하여


테이블A와 테이블B의 컬럼a 값이 000 인 것의 테이블B 컬럼b 값을 가져오는 쿼리 입니다.

 

SELECT  b.column_b


FROM table_a as a


inner join table_b as b on a.column_a=b.column_a


WHERE a.column='000'

 

⑥ UNION : a_테이블 과 b_테이블 에서 a_컬럼,b_컬럼 모든 값을 한꺼번에 가져옴

   

    SELECT a_column FROM a_table


    UNION


    SELECT b_column FROM b_table;



'Study > Oracle' 카테고리의 다른 글

관계 대수  (0) 2012.06.20
데이타베이스 키  (0) 2012.06.20
ORA-01400 에러  (0) 2012.06.07
ORA-00913 에러 #2  (0) 2012.05.31
ORA-00947 에러  (0) 2012.05.29
Posted by 코딩하는 야구쟁이
,