You might be a little confused as to the purpose and function of nonces in WordPress.
A nonce is a "number used once" to help protect URLs and forms from certain types of misuse, malicious or otherwise.
Nonces help you ensure, somewhat, the validity of the request being made to a given URL and or the use of a particular form to submit data, whether that be on the backend or frontend.
It doesn't have any bearing on the use of
As evidenced in your previous question your query was not working due to improper SQL synatx.
A good rule to follow is that URLs or forms, especially those that perform any actions on your database should always be accompanied by a nonce that you can verify the request validity against.
Then when inserting data into the database, if you must write raw SQL queries, then you should only use the
wpdb class, in particular
$wpdb->query() method along with the
$wpdb->prepare() method to project against SQL injection: Protect_Queries_Against_SQL_Injection_Attacks
Under the hood, when using functions like
wp_update_post, WordPress calles either
$wpdb->update() which in turn calls
$wpdb->query( $wpdb->prepate() ), so it takes care of sanitization for you.
This is why it is recommended to use the core functions of WordPress when inserting or updating posts, postmeta, users, usermeta and so forth.
In summary, be sure to read the references outlined above as they will greatly help you in furthering your understanding of what nonces are, when you should use them and how.