我不完全理解sql语句

时间:2012-03-30 15:21:35

标签: sqlite

我理解

SELECT * FROM T WHERE C1 = 1;

但我不完全明白

SELECT * FROM T MyT WHERE MyT.C1 = 1;

什么是MyT?

4 个答案:

答案 0 :(得分:3)

MyT是别名。它只是一个查询中的重命名。如果表名很长或再次加入同一个表,则会很有帮助。

答案 1 :(得分:2)

MyT是该表引用的别名。

SELECT * FROM T MyT WHERE MyT.C1 = 1;

将起作用

SELECT * FROM T MyT WHERE C1 = 1;

将起作用

SELECT MyT.FieldName FROM T MyT WHERE MyT.C1 = 1;

但这不起作用:

 SELECT T.FieldName FROM T MyT WHERE MyT.C1 = 1;

分配后,您必须使用别名来引用该表。

将表连接到自身时,这些是必不可少的:

 SELECT *
 FROM
   T MyT INNER JOIN
   T MyT2
     ON MyT.ManagerID = MyT2.EmployeeID
 WHERE MyT.C1 = 1;

答案 2 :(得分:1)

MyTTable T的别名。您在输入名称后,可以通过名称引用table

答案 3 :(得分:1)

MyT是表T的别名,可用于引用它。