什么情况下需要使用关系的别名?别名的作用范围是什么
最好能讲的明白点..谢谢了
10 个解决方案
#1
SELECT TOP 2 * FROM (SELECT TOP 4 * FROM TB ORDER BY ID DESC)AS T ORDER BY ID ASC
#2
使用表别名
SELECT 语句的可读性可通过为表指定别名来提高,别名也称为相关名称或范围变量。指派表的别名时,可以使用也可以不使用 AS 关键字:
table_name AS table alias
table_name table_alias
在下例中,为 publishers 指派了别名 p。
USE pubs
SELECT p.pub_id, p.pub_name
FROM publishers AS p
如果为表指派了别名,那么在该 Transact-SQL 语句中对该表的所有显式引用都必须使用别名,而不能使用表名。例如,下列 SELECT 语句将产生语法错误,因为该语句在已指派别名的情况下又使用了表名:
SELECT Customers.CustomerID, /* Illegal reference to Customers. */
Cst.FirstName, Cst.LastName
FROM Northwind.dbo.Customers AS Cst
#3
特别是在两个有相同的列名的时候要区分,一般弄个别名来
#4
最少两种情况是需要别名的
一是当两个家伙名字相同的时候,其中一个必须用别名来区分,否则不知道谁是谁了
如:SELECT A.* FROM TB A, TB B WHERE A.ID=B.PARENTID
二是当一个家伙没有名字时,必须加个名字给它
如:SELECT * FROM (SELECT * FROM TB) T
一是当两个家伙名字相同的时候,其中一个必须用别名来区分,否则不知道谁是谁了
如:SELECT A.* FROM TB A, TB B WHERE A.ID=B.PARENTID
二是当一个家伙没有名字时,必须加个名字给它
如:SELECT * FROM (SELECT * FROM TB) T
#5
等楼下
#6
同一个表需要被联查多次的时候,使用别名区分
select *
from tb a,tb b where a.id=b.pid
select *
from tb
where not exists(select * from tb a.id=id and name <> a.name)
#7
为增强可读性指定别名
有相同名字的时候用别名区分
需要被联查多次的时候用别名区分
谢楼上的各位
那别名的作用范围是什么 ??
有相同名字的时候用别名区分
需要被联查多次的时候用别名区分
谢楼上的各位
那别名的作用范围是什么 ??
#8
要看你在哪里指定的 有可能是整个查询语句 也有可能是子查询
#9
要怎么指定? 这个也有全局和局部之分的么?
#10
在关系的自身连接中,别名是必不可少的。
#1
SELECT TOP 2 * FROM (SELECT TOP 4 * FROM TB ORDER BY ID DESC)AS T ORDER BY ID ASC
#2
使用表别名
SELECT 语句的可读性可通过为表指定别名来提高,别名也称为相关名称或范围变量。指派表的别名时,可以使用也可以不使用 AS 关键字:
table_name AS table alias
table_name table_alias
在下例中,为 publishers 指派了别名 p。
USE pubs
SELECT p.pub_id, p.pub_name
FROM publishers AS p
如果为表指派了别名,那么在该 Transact-SQL 语句中对该表的所有显式引用都必须使用别名,而不能使用表名。例如,下列 SELECT 语句将产生语法错误,因为该语句在已指派别名的情况下又使用了表名:
SELECT Customers.CustomerID, /* Illegal reference to Customers. */
Cst.FirstName, Cst.LastName
FROM Northwind.dbo.Customers AS Cst
#3
特别是在两个有相同的列名的时候要区分,一般弄个别名来
#4
最少两种情况是需要别名的
一是当两个家伙名字相同的时候,其中一个必须用别名来区分,否则不知道谁是谁了
如:SELECT A.* FROM TB A, TB B WHERE A.ID=B.PARENTID
二是当一个家伙没有名字时,必须加个名字给它
如:SELECT * FROM (SELECT * FROM TB) T
一是当两个家伙名字相同的时候,其中一个必须用别名来区分,否则不知道谁是谁了
如:SELECT A.* FROM TB A, TB B WHERE A.ID=B.PARENTID
二是当一个家伙没有名字时,必须加个名字给它
如:SELECT * FROM (SELECT * FROM TB) T
#5
等楼下
#6
同一个表需要被联查多次的时候,使用别名区分
select *
from tb a,tb b where a.id=b.pid
select *
from tb
where not exists(select * from tb a.id=id and name <> a.name)
#7
为增强可读性指定别名
有相同名字的时候用别名区分
需要被联查多次的时候用别名区分
谢楼上的各位
那别名的作用范围是什么 ??
有相同名字的时候用别名区分
需要被联查多次的时候用别名区分
谢楼上的各位
那别名的作用范围是什么 ??
#8
要看你在哪里指定的 有可能是整个查询语句 也有可能是子查询
#9
要怎么指定? 这个也有全局和局部之分的么?
#10
在关系的自身连接中,别名是必不可少的。