如何在 MySQL 自然全外连接中使用别名?
How to use aliases in MySQL natural full outer join?
这是我的代码,当我 运行 这样做时,它会显示一个错误:每个派生的 table 都必须有一个别名,但是我尝试了不同的方法来添加别名,它只是没有' t work.Anyone 知道如何解决吗?
SELECT *
FROM (SELECT * FROM student s WHERE dept_name='Comp.Sci')
NATURAL FULL OUTER JOIN
(SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009);
在 mysql 中没有完整的外部联接,但您可以使用联合(最终向我们展示一个合适的数据样本以建议更好的查询联合)
SELECT * FROM student s WHERE dept_name='Comp.Sci'
union
SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009
对于您的代码,每个 table 都需要一个别名,例如:每个 from()
SELECT *
FROM (SELECT * FROM student s WHERE dept_name='Comp.Sci') t1
JOIN ........
(SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009) t2;
无论如何,如果你在派生标签中有相同的列名,你不能使用 * (select all) 但使用明确的列名和别名以避免歧义
这是我的代码,当我 运行 这样做时,它会显示一个错误:每个派生的 table 都必须有一个别名,但是我尝试了不同的方法来添加别名,它只是没有' t work.Anyone 知道如何解决吗?
SELECT *
FROM (SELECT * FROM student s WHERE dept_name='Comp.Sci')
NATURAL FULL OUTER JOIN
(SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009);
在 mysql 中没有完整的外部联接,但您可以使用联合(最终向我们展示一个合适的数据样本以建议更好的查询联合)
SELECT * FROM student s WHERE dept_name='Comp.Sci'
union
SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009
对于您的代码,每个 table 都需要一个别名,例如:每个 from()
SELECT *
FROM (SELECT * FROM student s WHERE dept_name='Comp.Sci') t1
JOIN ........
(SELECT * FROM takes t WHERE semester='Spring' AND YEAR=2009) t2;
无论如何,如果你在派生标签中有相同的列名,你不能使用 * (select all) 但使用明确的列名和别名以避免歧义