Dab*_*phy 2 sql database sqlite
考虑以下简单示例:
prompt% sqlite3 test.db
sqlite> create table employee (
employee_id integer primary key,
first_name varchar2(32) not null,
last_name varchar2(32) not null
);
sqlite> insert into employee (first_name, last_name) values ('Bill', 'Smith');
sqlite> insert into employee (first_name, last_name) values ('Sally', 'Jones');
sqlite> insert into employee (first_name, last_name) values ('Bill', 'Jones');
sqlite> select first_name, count(*) from employee;
Run Code Online (Sandbox Code Playgroud)
结果会是什么?
天真可能会认为它将是:
Bill|2
Sally|1
Run Code Online (Sandbox Code Playgroud)
但有经验的人会注意到SELECT查询缺少'GROUP BY'子句.事实上,Oracle在提出此查询时会抛出错误:
SQL ERROR: ORA-00937: not a single-group group function
Run Code Online (Sandbox Code Playgroud)
然而,SQLite不抱怨,而是产生:
Bill|3
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是假的......我想,显示总行数可能有意义,但只是选择最后一个'first_name'似乎相当武断,而且有潜在危险.
这是一个我只是无法理解的错误或功能吗?有没有理由SQLite不提供类似的安全网?
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |