when the backtick is required

https://learninghub.kx.com/forums/topic/when-the-backtick-is-required

just looking at the user case from https://code.kx.com/q/ref/delete/#delete-keyword and not sure why the backtick is not needed, since

“delete ps from x”, ps is a symbol atom?

 

and in the below case backtick is needed:

load `:flatT

`flatT in key `.

in some cases we need backtick and others not, what is the rule here?

Thanks,

 

 

 

 

This is a qSQL statement:

https://code.kx.com/q/ref/delete/

q)delete ps from x

qSQL has some differences to q.

"delete is a qSQL query template and varies from regular q syntax."

In qSQL statements backticks are not needed for looking up columns in a table or keys in a dictionary.


These are normal q statements:

q)load `:flatT //Uses ` to declare a symbol, this case is known as a hsym, denoting a filepath as it starts with :
q)`flatT in key `. //` used to declare a symbol `flatT and also to refer to . the default namespace

I see, thanks for the explanation!

Full qSQL docs on: https://code.kx.com/q/basics/qsql/


The 4 keywords for qSQL are:

  • select https://code.kx.com/q/ref/select/
  • update https://code.kx.com/q/ref/update/
  • delete https://code.kx.com/q/ref/delete/
  • exec https://code.kx.com/q/ref/exec/