0

给定以下 SQLite 查询,

SELECT _id, last_name, first_name_pref, title
FROM People

SQLite 将只返回 _id 列。

这有两件事:首先,如果我进一步向下移动 序列,我将取回它以及它左侧列出的所有内容。(意思是,如果...,那么它将返回,和-- 但不是。)_idSELECTSELECT last_name, first_name_pref, _id, titlelast_namefirst_name_pref_idtitle

但是,如果我将查询修改为 alias _id AS id,我会按预期返回 _id、last_name、first_name 和 title 列。

这里发生了什么?

如果有帮助,这里是数据库模式:

CREATE TABLE "People" (
"_id" INTEGER,
"first_name_pref" TEXT,
"last_name" TEXT,
"adds" TEXT,
"department" INTEGER REFERENCES "Departments._id"(""),
"title" TEXT,
"email_address" TEXT,
"phone" TEXT,
"office_1" INTEGER REFERENCES "Offices._id"(""),
"office_2" INTEGER REFERENCES "Offices._id"(""),
"office_3" INTEGER REFERENCES "Offices._id"(""),
"office_4" INTEGER REFERENCES "Offices._id"(""),
"address_1" TEXT,
"address_2" TEXT,
"city" TEXT,
"state" TEXT,
"zip" INTEGER,
-- more columns...
"photo" BLOB,
"specialty_area_1" INTEGER REFERENCES "SpecialtyAreas._id"(""),
"specialty_area_2" INTEGER REFERENCES "SpecialtyAreas._id"(""),
"specialty_area_3" INTEGER REFERENCES "SpecialtyAreas._id"(""),
"specialty_area_4" INTEGER REFERENCES "SpecialtyAreas._id"(""),
"parking_info" TEXT
);
4

0 回答 0