SQLite INNER JOIN - 如何只输出两个表的公共列之一

SQLite INNER JOIN - How to output only one of the common columns the two tables have

假设我有两个 tables:

  1. lessons 列:lessonID, name

  2. studentlessons 列:lessonID,age

我正在尝试执行此操作:

SELECT lessons.*, studentlessons.* FROM studentlessons   
JOIN lessons WHERE studentlessons.lessonID = lessons.lessonID

但结果是 table,其中包含以下列:

lessonID, name, lessonID(1), age

我想避开 lessonID(1),所以我想要的输出必须是:

lessonID, name, age

我知道我可以使用这个语法:

SELECT lessons.lessonID, lessons.name, studentlessons.age FROM studentlessons   
JOIN lessons WHERE studentlessons.lessonID = lessons.lessonID

但是因为一些其他原因我不能。

是否有任何纯 SQLite 语法可以提供我想要的输出?

你要的是NATURAL JOIN:

SELECT * FROM studentlessons NATURAL JOIN lessons 

其中returns只是其中一列lessonID
这些表在具有相同名称的列上隐式连接。

参见demo