0

次の SQLite クエリを考えると、

SELECT _id, last_name, first_name_pref, title
FROM People

SQLite は _id 列だけを返します。

これには 2 つのポイントがあります。まず、シーケンスをさらに下に移動 すると、元のシーケンスに戻り、その左側にリストされているすべてのものが表示されます。(つまり、... の場合、 、、および-- を返しますが、 は返しません。)_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