Computers are tools. What makes them useful is the things we tell them to do. We tell them to do things through code. Therefore, to properly use a computer, you should know a little bit about how to code, and a bit about how the thing works, shouldn't you? I'm talking about general-use computing here, not things you would do with a kiosk or point of sale system.
If a big part of your job is to use a computer, to analyze and share data, then yes, you should know how to code. I certainly expect people who work on my house, my car, etc, to know how to use their tools.
If you create content or processes on computers, you should know how to properly tell them how to do things. Not knowing this leads to spreadsheet 'databases', single images in powerpoint (or powerpoint at all), word attachments in email that state what could have just been written in the email itself, and all of the other associated idiocy that I'm sure you all deal with every day. I don't expect my mechanics to know these things. In this analogy, they are the computer drivers, not the ones building and fixing the car.
Remember, SQL was originally written to make querying and correlating data easy for managers and NON-PROGRAMMERS. That's why it is so english-y. Now, it is considered 'programming' to understand how to create a SQL query, and management has to rely on other people to use the tool for them so they can have a non-flexible set of buttons they can push rather than just tell the system what they need at any given point themselves. Let that sink in.