What kind of a lock does IN keyword takes in SQL If I have a query in which I have used IN keyword than what kind of lock will be taken by IN keyword.

Query is : 

UPDATE table1 SET b_id where id in (SELECT id from table1 where id IS NULL )


I wanted to know the type of lock taken by the query when IN keyword is used.
See File Locking And Concurrency In SQLite Version 3.

There is a single lock for the entire database file.

When the transaction reads the database for the first time, it takes a read lock (a SHARED lock). This happens not when the IN is executed, and not before that when the subquery is executed, but even before that when the database reads the system table to get information about table1.

When the transaction writes to the database for the first time (i.e., when at least one row is actually UPDATEd), it takes a write lock (a RESERVED lock, and later PENDING/EXCLUSIVE when the cached changes are actually written at the end of the transaction).