[SQL][DBMS] Oracle DB 와 MySQL 의 차이 - 문자열 부호, 대소문자 구분 등

728x90

 

여러 가지가 있겠지만 일단 문자열 부분에서의 차이만 간략히 정리할 것임

 

    Oracle DB MySQL
' ' 부호
( 작은 따옴표 (Apostrophe) )
문자열 부호 문자열 부호
별명 부호
" " 부호
( 큰 따옴표 (Quotation Mark) )
별명 부호
( 별명( ALIAS ) 지정 시
  공백 또는 특수문자 포함하거나
  대소문자 구분할 때 사용 )
문자열 부호
별명 부호
` ` 부호
( 역 따옴표 (Grave Accent) )
· 식별자 부호
( 이미 지정된 별명 참조 시 사용.
  식별자 부호가 아니라
  문자열 부호를 사용하게 되면
  문자열 리터럴로 처리됨 )
대소문자 구분 쿼리 X
( 테이블명이나 칼럼명은
  기본적으로
대문자로 생성됨 )
X
문자열 데이터 O X
( 단, 컬럼명 별명 지정 시
  따옴표( ' 나 " ) 사용하면
  대소문자 구분 )
쿼리 실행 순서   5)  SELECT  컬럼명
1)  FROM  테이블명  [ON 조건식]
2)  WHERE  조건식
3)  GROUP BY  컬럼명 ( or 표현식 )
4)  HAVING  조건식
6)  ORDER BY  컬럼명 ( or 표현식 )
별칭 사용에 대한 유의 사항 -  FROM 절에서 테이블 별칭 지정 시 그 후 실행되는
   WHERE 절이나 SELECT 절 에서는 별칭 사용 해야 함
-  SELECT 절에서 컬럼 별칭 지정 시 그 후 실행되는
   ORDER BY 절에서 별칭 사용 가능
SELECT 절에서
컬럼명에 별칭 지정 시
다른 절에서 사용 가능한 범위
ORDER BY -  GROUP BY
-  HAVING
-  ORDER BY
( GROUP BY 절, HAVING 절은
SELECT 절보다 먼저 실행되는 절로,
원래 별칭 사용 불가능하지만
기능 확장으로 예외적으로 사용 가능 )

 

 

*  칼럼에 별명 부여

ex)  PLAYER_NAME 칼럼에
      "선수 이름" 이라고 별칭 짓기
Oracle DB MySQL
  PLAYER_NAME  [AS"선수 이름" PLAYER_NAME  [AS"선수 이름"
PLAYER_NAME  [AS'선수 이름'

 

 

*  조건에 맞는 문자형 데이터 조회 시 대소문자 

ex)  "ABC"  검색 Oracle DB MySQL
대소문자 구분 col  = 'ABC' BINARY  col  =  'ABC'
BINARY  col  =  "ABC"
대소문자 구분 안 함 UPPER( col )  =  'ABC' col  =  'ABC'
col  =  "ABC"

 

 ※  BINARY  --  문자열을 이진 문자열로 변환  ( 형 변환 연산자 in MySQL )
( 문자 단위가 아닌 숫자 바이트 값을 사용하여 문자열 비교를 바이트 단위로 수행 )

( https://hyunjiishailey.tistory.com/517 )

 

 

반응형