MySQL 中的 SQL 语句,点运算符的使用

MySQL 中的 SQL 语句,点运算符的使用

以下是我找到的SQL语句:

SELECT d.name, count(e.emp_id) num_employees
FROM department d INNER JOIN employee e
  ON d.dept_id = e.dept_id
GROUP BY d.name
HAVING count(e.emp_id) > 2;

我想知道 或 是什么d.name意思e.named.dept_id它们有什么区别?

答案1

.通常是表名。在您提到的句子中,d是别名的名称。如果您检查语句FROM,您有department d。这意味着您想从表中获取行department但将其引用为d(因为department是一个长词),因此您创建了一个别名。

为了消除字段歧义,因为不同的表可能具有相同的字段名称,您可以在字段前面加上表名(或您的情况下为别名)后跟点。

简而言之,您的意思是:

name从别名中选择字段,并分别从表和、别名和等d的连接中计算员工人数。departmentemployeede

答案2

Dev.MySQL.com

您可以将默认数据库中的表引用为tbl_name或 以db_name.tbl_name明确指定数据库。
您可以将列引用为col_nametbl_name.col_namedb_name.tbl_name.col_name您不需要为列引用指定tbl_namedb_name.tbl_name前缀,除非引用是模糊的


标识符限定符

MySQL 允许由单个标识符或多个标识符。多部分名称的组成部分必须用句点(“ ”)字符分隔.。多部分名称的初始部分充当限定符,影响最终标识符的解释上下文。


表格引用可以是别名使用tbl_name AS alias_nametbl_name alias_name

SELECT t1.name, t2.salary FROM employee AS t1, info AS t2
WHERE t1.name = t2.name;

SELECT t1.name, t2.salary FROM employee t1, info t2
WHERE t1.name = t2.name;

相关内容