Tôi đã tự hỏi tại sao MYSQL sử dụng dấu bằng đơn trong câu lệnh điều kiện thay vì hai dấu bằng điển hình hơn. Có lý do kỹ thuật/lịch sử nào cho điều này không? Cảm ơn.Single Equals in MYSQL
Trả lời
Xin chào, tôi đã tự hỏi tại sao MYSQL sử dụng dấu bằng đơn trong câu lệnh điều kiện thay vì hai dấu bằng điển hình hơn. Có lý do kỹ thuật/lịch sử nào cho điều này không? Cảm ơn.
So sánh phổ biến hơn trong SQL
so với bài tập.
Đó là lý do tại sao SQL
sử dụng cú pháp ngắn hơn để thực hiện nhiều việc phổ biến hơn.
Trong cổ điển SQL
, so sánh có thể được phân biệt với phân công của bối cảnh (chuyển nhượng có thể chỉ trong SET
khoản của một câu lệnh UPDATE
), đó là lý do tại sao một nhà điều hành có thể được sử dụng cho cả hoạt động.
Trong phần mở rộng MySQL
's để SQL
, chuyển nhượng cho một biến session được ký hiệu bởi :=
Giống như lịch sử.
Đó là SQL. Nó đã sử dụng một dấu bằng để so sánh từ đầu những năm 70.
Không bao giờ có một trường hợp cho sự mơ hồ trong SQL.
Trong bản gốc Hướng dẫn tiêu chuẩn SQL bởi C.J.Date (1987 edition), =
chuyển nhượng chỉ được sử dụng trong SET
khoản của UPDATE
. Ở mọi nơi khác =
được sử dụng nó được sử dụng để so sánh.
Nhưng trong các ngôn ngữ khác, chẳng hạn như C/C++/C#/Java, =
có thể được sử dụng làm bài tập nhưng nó cũng trả về một giá trị. Vì vậy, a = b
có nghĩa là "đặt a
bằng b
và trả về a
" trong khi a == b
có nghĩa là "trả lại true
nếu a
và b
bằng nhau". (Điều này dẫn đến một lỗi rất phổ biến trong các chương trình C, vì if (a = b)
và if (a == b)
đều hợp lệ, vì kết quả không phải là một bool.)
Một số ngôn ngữ như Javascript/ECMAScript cũng giới thiệu ===
như một loại thứ ba so sánh. Trong các ngôn ngữ đó, ==
có nghĩa là "chuyển đổi thành cùng một loại và so sánh" trong khi ===
có nghĩa là "trả lại true
chỉ khi chúng cùng loại và cùng một giá trị."
- 1. Hiệu suất MySQL - "IN" khoản so với Equals (=) cho một giá trị đơn
- 2. Prolog: single item vs single item
- 3. MySQL where where equals (SELECT * WHERE col = ANY_VALUE)
- 4. MySQL - NOT IN LIKE
- 5. mySQL bind_param với IN (?)
- 6. MinGW Link Single EXE
- 7. NSPredicate Single Quote Issue
- 8. Hiệu suất của MYSQL "IN"
- 9. MySQL "IS IN" tương đương?
- 10. Mysql IF IN GROUP_CONCAT ngắt
- 11. Single Line sftp từ Terminal
- 12. Single-Sign-On ASP.NET MVC
- 13. Java: .contains and .equals
- 14. IStructuralEquatable vs Equals?
- 15. HTTPRequest.Files.Count Never Equals Zero
- 16. Double Equals (==) trong TypeScript
- 17. MVC4 Single Page App - Nhiều màn hình
- 18. MySQL IN() cho hai giá trị/mảng?
- 19. MySQL "NOT IN" không hoạt động
- 20. Xem MySQL OR vs IN khoản
- 21. Dynamic MySQL Where Clause in Stored Procedure
- 22. Đơn đặt hàng MySQL CỦA IN()
- 23. MYSQL JOIN với điều khoản IN
- 24. colorise single track trong tập tin kml
- 25. C tổ chứC# single dự án
- 26. Singleletance và single singletask của Android
- 27. Entity Framework 4: Chọn Single Record
- 28. Google Charts Api - Single Series Nhiều màu
- 29. MVC 4 Single Page Application và DateTime
- 30. hashcode() và equals() phương pháp
SQL không phát triển từ QUEL của Ingres. QUEL, mặc dù có lẽ trong một số cách thiết kế tốt hơn, được thay thế bởi SQL. – lavinio
@lavinio: chính xác, đã xóa phần đó. – Quassnoi