In q language, it really is t1~t2 match for full match or t1=t2 for item wise. When you have a fully coherent programming language, it makes sense that this and many other things just work. e.g. in q there are no CTEs it's assigning and using variables as you would in most languages.
https://www.timestored.com/jq/online/?qcode=t1%3A(%5B%5D%20s...