面试常用SQLite 查询语句

1.查询A表的第10到20条记录

select * from A limit 9 , 11

2.A表有id主键,name两个字段,插入一条数据(id = 1,name=”zhangsan”)要求,如果id为1不存在正常插入,如果存在则更新name值。

replace table A (id,name) value (1,"zhangsan")

3.A表表结构复制到B表中

create table B as select * from A

4.创建视图的语句,查询A表所有记录

create view if not exists view1 as select * from A

5.abs(x) 返回值的情况

1. x >= 0 ,返回x本身
2. x < 0 ,返回X绝对值
3. xnull的时候 返回NULL
4. x为字符串、blob等非数值类型时返回0 但是非数值的类型可以转换为数值时则还是按转换后的数值处理  例:x = “-123”  返回123
5. x取值超出64位整数则抛出溢出错误

6.获取最近一次sql语句影响的行数

select change()

7.A表(id,name) 返回第一个不为null的字段值

两种方法:
 - select coalesce(name,id) as value from A
 - select infull (name,id) as value from A

8.length(x) 返回值的情况

1.x 字符串类型    返回字符串中包含的字符数
2.x Blob类型     返回二进制数据中包含的字节数
3.x NULL        返回NULL
4.x 数值型       将数值作为字符串处理 返回字符数 

9.查询A表(id,name)中姓“王”的人的信息,用like函数和like字句两种方式

like函数
select * from A where like('王%',name)

like子句
sselect * from A where name like "王%"

10.nullif(x,y)返回值情况

x和y不同时候返回x
x和y相同时候返回NULL

11.substr用法


 1. select substr('我是隔壁老王我怕谁',7)  输出:我怕谁
 2. select substr('我是隔壁老王我怕谁',34) 输出:隔壁老王
 3. select substr('我是隔壁老王我怕谁',-33) 输出:我怕谁
 4. select substr('我是隔壁老王我怕谁',-3) 输出:我怕谁

 sub(a,b,c)
 a 需要截取的字符串
 b 开始截取的位数,正数的时候从左往右数几位,负数时候右侧往左数位数
 c 表示截取的位数 负数的时候取绝对值

猜你喜欢

转载自blog.csdn.net/u014513456/article/details/50724857