• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 1. 리터럴 값
    2. 스키마 개체 이름
    3. 예약어
    4. 사용자 정의 변수
    5. 식의 구문
    6. 댓글 구문
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

9.5 식의 구문

다음 규칙은 MySQL에서의 식의 구문이 정의됩니다. 여기에 나온 문법은 MySQL 소스 배포판의 sql/sql_yacc.yy 파일에서 주어진 문법에 따라 있습니다. 일부 조건에 대한 자세한 내용은 문법 후에 표시되는 지침을 참조하십시오.

 expr :
     expr OR expr
   | expr || expr
   | expr XOR expr
   | expr AND expr
   | expr && expr
   | NOT expr
   |! expr
   | boolean_primary IS [NOT] {TRUE | FALSE | UNKNOWN}
   | boolean_primary

 boolean_primary :
     boolean_primary IS [NOT] NULL
   | boolean_primary <=> predicate
   | boolean_primary comparison_operator predicate
   | boolean_primary comparison_operator {ALL | ANY} ( subquery )
   | predicate

 comparison_operator : = |> = |> | <= | <| <> |! =

 predicate :
     bit_expr [NOT] IN ( subquery )
   | bit_expr [NOT] IN ( expr [, expr ] ...)
   | bit_expr [NOT] BETWEEN bit_expr AND predicate
   | bit_expr SOUNDS LIKE bit_expr
   | bit_expr [NOT] LIKE simple_expr [ESCAPE simple_expr ]
   | bit_expr [NOT] REGEXP bit_expr
   | bit_expr

 bit_expr :
     bit_expr | bit_expr
   | bit_expr & bit_expr
   | bit_expr << bit_expr
   | bit_expr >> bit_expr
   | bit_expr + bit_expr
   | bit_expr - bit_expr
   | bit_expr * bit_expr
   | bit_expr / bit_expr
   | bit_expr DIV bit_expr
   | bit_expr MOD bit_expr
   | bit_expr % bit_expr
   | bit_expr ^ bit_expr
   | bit_expr + interval_expr
   | bit_expr - interval_expr
   | simple_expr

 simple_expr :
    literal
   | identifier
   | function_call
   | simple_expr COLLATE collation_name
   | param_marker
   | variable
   | simple_expr || simple_expr
   | + simple_expr
   | - simple_expr
   | ~ simple_expr
   |! simple_expr
   | BINARY simple_expr
   | ( expr [, expr ] ...)
   | ROW ( expr , expr [, expr ] ...)
   | ( subquery )
   | EXISTS ( subquery )
   | { identifier expr }
   | match_expr
   | case_expr
   | interval_expr

참고 :

연산자 우선 순위에 대해서는 섹션 12.3.1 "연산자 우선 순위" 를 참조하십시오.

리터럴 값의 구문은 섹션 9.1 "리터럴 값" 을 참조하십시오.

식별자의 구문은 섹션 9.2 "스키마 객체 이름" 을 참조하십시오.

변수는 사용자 변수 시스템 변수 저장 프로그램의 로컬 변수 또는 매개 변수가 있습니다.

  • 사용자 변수 : 섹션 9.4 "사용자 정의 변수"

  • 시스템 변수 : 섹션 5.1.5 "시스템 변수 사용"

  • 로컬 변수 : 섹션 13.6.4.1 "로컬 변수 DECLARE 구문"

  • 파라미터 : 섹션 13.1.15 "CREATE PROCEDURE 및 CREATE FUNCTION 구문"

param_marker 은 준비된 문 플레이스 홀더에 사용되는 것처럼 ? 입니다. 섹션 13.5.1 "PREPARE 구문" 을 참조하십시오.

( subquery ) 는 단일 값을 반환 서브 쿼리, 즉 스칼라 서브 쿼리를 나타냅니다. 섹션 13.2.10.1 "스칼라 피연산자로 서브 쿼리" 를 참조하십시오.

{ identifier expr } 는 ODBC 이스케이프 구문이며, ODBC과의 호환성을 위해 인정 받고 있습니다. 값은 expr 입니다. 구문의 칼 한 괄호는 문자 그대로 기록해야합니다. 그들은 구문 설명의 다른 부분에서 이용되고있는 것 같은 메타 구문은 없습니다.

match_expr 는 MATCH 식을 나타냅니다. 섹션 12.9 "전체 텍스트 검색 함수" 를 참조하십시오.

case_expr 는 CASE 식을 나타냅니다. 섹션 12.4 "제어 흐름 함수" 를 참조하십시오.

interval_expr 시간 간격을 나타냅니다. 구문은 INTERVAL expr unit 입니다. 여기서 unit 는 HOUR , DAY , WEEK 등의 지정자입니다. unit 지정자의 전체 목록은 섹션 12.7 "날짜 및 시간 함수" 의 DATE_ADD() 함수의 설명을 참조하십시오.

일부 연산자의 의미는 SQL 모드에 따라 다릅니다.

  • 기본적으로 || 논리 OR 연산자입니다. PIPES_AS_CONCAT 이 활성화되어있는 경우, || 는 ^ 와 단항 연산자 간의 우선 순위를 가진 문자열 연결입니다.

  • 기본적으로 ! 는 NOT 보다 높은 우선 순위입니다. HIGH_NOT_PRECEDENCE 이 활성화되어있는 경우 ! 와 NOT 의 우선 순위는 동일합니다.

섹션 5.1.7 "서버 SQL 모드" 를 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved