왜 MYSQL이보다 일반적인 두 개의 등호 대신 조건문에서 하나의 등호를 사용하는지 궁금합니다. 이것에 대한 기술적/역사적 이유가 있습니까? 감사.MYSQL의 동일 함
답변
안녕하세요, 왜 MYSQL이 더 일반적인 두 개의 등호 대신 조건문에서 하나의 등호를 사용하는지 궁금합니다. 이것에 대한 기술적/역사적 이유가 있습니까? 감사.
SQL
은 할당보다 훨씬 더 일반적입니다.
그런 이유로 SQL
은 더 일반적인 구문을 사용하여 더 짧은 구문을 사용합니다.
고전적인 SQL
에서 비교는 문맥에 따라 할당과 구별 될 수 있습니다. 할당은 UPDATE
문에서 SET
절에만있을 수 있습니다. 따라서 한 연산자가 두 연산에 모두 사용될 수 있습니다. SQL
에 MySQL
의 확장에
은 세션 변수에 할당은 SQL의 모호성을위한 경우가 결코 :=
로 표시됩니다. C.J.Date (1987 판), 할당 =
으로 SQL 표준 원래 가이드에서
은 UPDATE
의 SET
절에 사용됩니다. 다른 곳에서는 =
이 사용되고 비교를 위해 사용됩니다.
그러나 C/C++/C#/Java와 같은 다른 언어에서는 =
을 할당으로 사용할 수 있지만 값도 반환합니다. 따라서 a = b
은 "a
을 b
과 같게 설정하고"a
을 반환하는 것을 의미하는 반면, a == b
은 "true
을 반환하고 a
과 b
이 같으면"을 의미합니다. 자바 스크립트/ECMAScript를 같은
일부 언어는 세 번째 유형으로 ===
를 소개합니다 (이 if (a = b)
및 if (a == b)
는 결과가 부울 할 필요가 없기 때문에, 유효한 둘 때문이다., C 프로그램에서 매우 일반적인 버그로 연결) 비교. 해당 언어에서 ==
은 "동일한 유형으로 변환하여 비교"를 의미하는 반면 ===
은 "동일한 유형 및 동일한 값인 경우에만 true
을 반환합니다"를 의미합니다.
- 1. 코코아에서 HIShapeCreateDifference와 동일 함
- 2. 오라클 MySQL의 TEXT 유형과 동일
- 3. Objective C가 Java의 ArrayList와 동일 함
- 4. FireFox 6에서 동일 원점 검사 사용 안 함
- 5. MySQL LIKE 문 inteprets "o"와 "ö"가 동일 함
- 6. 창 크기가 저장되므로 다음에 열 때 이전과 동일 함
- 7. MySQL의 대/소문자 구분 안 함
- 8. MySQL의
- 9. 루씬의 BooleanQuery는이 "동일"로
- 10. jQuery 마스크의 YUI2와 동일
- 11. 엑셀 데이터 동일 행
- 12. 동일 경로 식별
- 13. Prototype의 JQuery의 getScript와 동일
- 14. ServiceDescriptionReflector의 WCF와 동일
- 15. GtkVBox Qt와 동일
- 16. iOS의 Android 서비스와 동일
- 17. 동일 Request.UrlReferrer 받기
- 18. Linux의 InterlockedIncrement와 동일/gcc
- 19. JQuery와 동일 하이츠
- 20. 동일 모델의 어린이 - CakePHP
- 21. CSS 동일 라인 정렬
- 22. 문자열을 여러 번 인코딩 (인코딩 형식이 동일 함)하면 문제가되지 않습니까? (파이썬에서)
- 23. Gridview 내의 리피터 - 마지막 그리드 뷰 ID (각 리피터가 동일 함)에서 리피터 만 끌어 당깁니다.
- 24. MySQL의 :
- 25. - MySQL의
- 26. MySQL의 -
- 27. MySQL의
- 28. MySQL의
- 29. MySQL의
- 30. /MySQL의
SQL은 Ingres의 QUEL에서 진화하지 않았습니다. QUEL은 어떤면에서는 더 나은 디자인 이었지만 SQL로 대체되었습니다. – lavinio
@lavinio : 정확하고 그 부분을 제거했습니다. – Quassnoi