正确答案是 D: `SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资表 JOIN 职工表 WHERE 职工表.职工号=工资表.职工号`
分析:
- A: 这个选项的问题是,它只从工资表中查询,而没有关联职工表,因此无法获取职工的姓名。由于职工表和工资表是通过职工号关联的,因此需要进行表连接操作。
- B: 这个选项的语法是错误的,因为它试图使用 WHERE 子句来关联两张表,但没有指定表连接的方式。SQL 中没有直接在 WHERE 子句中进行表连接的语法。
- C: 这个选项的语法是错误的,因为它在 FROM 子句中同时列出了两张表,但没有正确指定连接条件。WHERE 子句中使用 `职工号=职工号` 是不明确的,应该明确指出是哪张表的职工号。
- D: 这个选项使用了 JOIN 语法明确地将职工表和工资表连接在一起,通过 `职工表.职工号=工资表.职工号` 进行关联,并且正确计算了实发工资,同时提取了职工的姓名。这个语句是正确的。