sql as重命名后表也得重命名才能where
时间: 2023-09-29 13:07:01 浏览: 52
如果在SELECT语句中使用了AS关键字给表或列起别名,那么在WHERE语句中也需要使用相同的别名。否则,会出现错误提示“未知的列名”或“未知的表名”。
例如,以下SQL语句中给表和列都起了别名:
SELECT p.product_name AS pname, c.category_name AS cname
FROM products p
JOIN categories c
ON p.category_id = c.category_id;
如果想在WHERE语句中使用别名,则需要重命名表和列:
SELECT p.product_name AS pname, c.category_name AS cname
FROM products p
JOIN categories c
ON p.category_id = c.category_id
WHERE pname LIKE '%apple%';
注意,有些数据库管理系统可能不允许在WHERE语句中使用别名,需要使用原始的列名。因此,最好在编写SQL语句时,使用具有描述性的列名,避免出现混淆。
相关问题
sql写完where as后面再写where
在 SQL 中,WHERE 关键字用于筛选出符合条件的行。在使用 WHERE AS 语句时,会将查询结果中的某些列进行重命名,生成一个虚拟表,这个虚拟表可以作为子查询使用。因此,如果需要对这个虚拟表进行进一步的筛选,则需要在 WHERE 语句中再次指定条件。
例如,下面的 SQL 查询中,使用 WHERE AS 将查询结果中的字段重命名为 new_column,然后在 WHERE 子句中对 new_column 进行筛选:
```
SELECT column1, column2, column3 AS new_column
FROM table1
WHERE new_column > 10
```
需要注意的是,WHERE AS 语句的执行顺序是先执行 WHERE 子句,然后再执行 AS 子句。因此,在 WHERE 子句中不能使用 AS 子句中定义的别名,必须使用原始列名或列编号。
hive sql 条件筛选后将结果重命名
您可以使用 `AS` 关键字来为查询结果重命名。以下是一个示例:
```
SELECT column1, column2 AS new_column_name
FROM your_table
WHERE some_condition;
```
在上面的示例中,`column2` 被重命名为 `new_column_name`。您可以将 `column1` 和重命名后的 `column2` 作为查询结果返回。