我必须使用SQL SELECT语句来返回一些结果。我需要返回两条关于员工的信息,即员工#和员工姓名。
我已经尝试了
SELECT Employee#, EmployeeName FROM EmployeeTable
但是在MySQL中,#symbol前进的所有东西都是灰色的。那个符号搞砸了我的查询,但它是给我的表格的一部分。如何使用此员工#进行搜索而不会搞砸?谢谢。
答案 0 :(得分:5)
使用反引号(`)来逃避MySQL中奇怪的列名和表名:
SELECT `Employee#`, EmployeeName FROM EmployeeTable
或者,更好的是,首先不要在这些名称中使用特殊字符。
答案 1 :(得分:3)
对于MySQL:
SELECT `Employee#`, EmployeeName FROM EmployeeTable
对于SQL Server:
SELECT [Employee#], [EmployeeName] FROM [EmployeeTable]
这是一样的想法,但是MySQL有一个不同的分隔符来转义表名。
答案 2 :(得分:0)
SELECT [Employee#],EmployeeName FROM EmployeeTable
答案 3 :(得分:0)
符合ANSI SQL的转义列名称的方法是将列名称括在double qoutes中。 这适用于所有符合ANSI标准的DBMS - MySQL,SQL Server,Oracle等。
对于MySQL,您可以使用反引号或启用ANSI SQL mode之后
SELECT "Employee#", EmployeeName FROM EmployeeTable