40

I’m going to buck the pervasive mentality here and ask the question:

   Why shouldn’t dba.stackexchange.com include basic SQL questions?

Previous related discussions:

In the last question, the “Database Queries” entry was up-voted 14x, yet Jeff Atwood commented that we should only allow those that are “ninja-level extremely complicated ‘for experts’”.

It could be argued that basic SQL questions are already allowed sometimes from questions like these:

You may disagree with some of these, but there are many others that could be listed. The point is that they exist. I’m not suggesting that these all get migrated to SO, instead I am suggesting that we stop actively turning others like these away. Here are some reasons why.

Answer Quality

Migrating questions to a site with less database specific knowledge may lead to poorer answers. The answer may not account for the larger database scope, may prefer a procedural solution over a more efficient set based approach, may not address platform specific functionality, or may not point out that an advanced database feature could solve the problem.

Impression

Database Administrators are sometimes viewed as unable and/or unwilling to entertain SQL questions. This is a stereotype we should actively discourage. In the question How could DBAs be more 'programmer friendly'? the top answers include the phrases “work with me”, “consult the other”, “communicating every step of the way”, “in the middle of the development team”, and “guide developers”. These are things we should be trying to do. By working with those who have simpler SQL questions we can break down the wall between developers and administrators.

Ambiguous Distinction

The line between a basic SQL question and a more advanced SQL question is sometimes difficult to define and we are requiring the person asking the question who is probably the least qualified in making such a determination to do so. If they guess wrong we “punish” them by migrating their question to another site. This decreases the likelihood of them asking another question here and may prevent others from asking their question at all.

Answer Focus

A person asking a question has no way of knowing that their basic question could benefit from an expert answer. A seemingly simple question about a select statement could lead to an answer involving expert level CTE, hierarchical, or analytic functions that solves the same problem in a much more elegant manner. By denying the basic question we deny the expert answer.

On Topic

Aside from questions that would be closed on any site, the FAQs of StackOverflow, ServerFault, SuperUser, Arqade, Photo, AskUbuntu and Unix make no mention of closing/migrating on-topic questions because they are too basic. Often there is mention of migrating questions to a site with more focused experts (such as from Unix to AskUbuntu), but never to a site with less expert knowledge on the question. Webmasters.SE doesn’t send a user back to SO because their webmaster question is too basic and Security.SE doesn’t send a user back to SO because their security question is too basic.

Some may say that writing SQL is a programming discipline not a database administration discipline and therefore should be on SO. While this may be true, it has no bearing on whether basic SQL should be included on DBA.SE because expert SQL is already allowed.

Perspective

The same basic SQL question asked on SO and DBA.SE might get a very different accepted answer, yet both are completely accurate and valid given the context. Crypto.SE has a statement similar to this in their FAQ concerning similar questions on Security.SE and Crypto.SE that could get different but valid answers. While correct query results are important to people asking questions on both DBA.SE and SO.SE, a person on this site might have an increased interest in how the the statement would effect the system as a whole.

Scenario

Imagine a developer is learning SQL and has a question. He hears about DBA.SE and decides to ask here. Either through noticing the FAQ or having his question closed/migrated he is chased away. He then starts asking his questions on SO. After a year or so of asking questions on SO, one day one of his questions is migrated to DBA.SE, a site previously hostile to his questions. Will he be pleased with this change? Will he expect knowledgeable, respectful answers that take him from where he is to a higher level of understanding?

Little Downside

The reason I have heard most for banning basic SQL questions is that we want a site of experts. While this assumption could be addressed head on it should suffice to mention that if it doesn’t prevent experts on SO, it won’t prevent experts on DBA.SE. What sets SE apart is not a high entry threshold for difficult questions, but the engine that drives up the quality of the answers.


Please note, I am not suggesting any of the following:

  1. Allowing questions that should be closed on any site because they can be easily answered from the documentation or a brief search.
  2. Allowing programming questions which clearly belong on SO.
  3. Migrating basic SQL questions on SO here.

I am suggesting the following:

  1. Remove wording from the site indicating that basic SQL is not allowed. I'm not sure if I would promote it, simply not ban it.
  2. Stop migrating basic SQL questions to SO.

Please let me know what you think and/or what I am missing. I will not be upset if the community decides to maintain the status quo.

  • 2
    My 2c: I disagree for two reasons: (a) migrating a question is being helpful, not dismissive or punishing; and (b) you seem rather dismissive of the quality of the experts frequenting SO and answering SQL questions with "advanced" ideas like CTE, hierarchical, or analytic functions. Sure, there are plenty of poor answers on SO that advocate procedural solutions or multiple self-joins (e.g.) but that's not a good enough reason not to migrate the question. On the other hand, I'd like to see DBAs more involved in dev-life, but for this I'd like to see them frequent both dba.se and SO. – Jeffrey Kemp Jul 20 '12 at 3:58
  • 4
    @Jeffrey Kemp - You are correct that most (perhaps all) SQL questions can get decent answers on SO, but I am not suggesting the SO migration policy be changed at all. Indeed, DBAs should be more involved with devs, but when a dev specifically asks for a DBA perspective on a question turning them away from this site is no less dismissive than a DBA sending a developer back to ask his co-workers. – Leigh Riffel Jul 20 '12 at 12:15
  • I took the 'yes' answer to only include the question in the title, so others may have as well. To not change the meaning of existing votes, I will add a new answer. – Jon Seigel Jul 20 '12 at 13:35
  • 5
    I'm a developer, not a DBA. However; my last position had me answering to a DBA constantly - he would point out better practices and best way (which quite often were just his way). However; he would hold me to a standard without being willing to teach the standard. In order to complete tasks and stretch my knowledge, I've often purused the DBA site to find the best practices. These are insights I'm not going to find on SO. And I agree with @LeighRiffel, if you turn away a developer, you're just like my last DBA and make life harder. – DataGirl Jul 27 '12 at 16:02
  • 4
    In light of this question and answers already given, I wish someone would goto Area51 and propose sql.stackexchange.com. – RolandoMySQLDBA Jul 11 '13 at 15:24
  • I would suggest that we add a "minimum research" FAQ. For example, if people ask a mysql query performance questions - the bare minimum information included in the question should be the EXPLAIN, SHOW TABLE and SHOW INDEX. Anyone not providing this can be redirected to the FAQ. – Thomas Kejser Jan 5 '14 at 14:41
  • 2
    Perhaps it would be worth considering having some sort of "basic SQL" tag (with a better name, of course) as well, so that experts who are not inclined to answer them could put it in their ignore list. This would reduce their interaction with what they view as "noise". – jpmc26 Jan 22 '14 at 13:18
  • @RolandoMySQLDBA The site was originally proposed as "databases" and only changed to make it DBA specific in the last month and after most people had already committed area51.stackexchange.com/posts/4260/revisions – Gary Jul 16 '18 at 5:53
20

I agree with Leigh's suggestions (see comments on the question):

  • Remove wording from the site indicating that basic SQL is not allowed. I'm not sure if I would promote it, simply not ban it.

  • Stop migrating basic SQL questions to Stack Overflow.

  • 2
    +1, however I would advocate that we also do Leigh's third item that he was not suggesting: "Migrating [all database-related] questions on SO [to] here". – Nicholas Shanks Jul 4 '13 at 7:37
19

No, because...

We have a niche, an 'expert' focus and we don't want to dilute it too much. Being flexible with the definition of 'advanced' SQL which we allow according to the help page is fine, but opening the floodgates to every 'how do I join two tables' question will eventually lead to the overall quality and perception of the site degrading.

Or, as swasheck said:

... because the great thing about DBA.SE is that there is a very high S/N ratio here. Almost everything here is useful to the domain of Data professionals [...] basic SQL questions will increase the noise.

  • 7
    Because basic SQL is (should be) the domain of app developers. Anyone working with databases should understand the concept of "SELECT colset FROM table", even if they don't understand relational algebra. Also, strictly SQL questions like that are "code questions" and Stack Overflow is a "code questions site" and always has been. There's no reason to say "all SQL questions belong on Database Administrators" when on Stack Overflow, which is part of what this policy is in place to prevent. That is a debate that has been had several times now. By encouraging simple SQL Q here, we discourage them on Stack Overflow, thus diluting both sites. – jcolebrand Jul 18 '12 at 14:15
  • 2
    Also note that most SQL questions are either MSDN-lookup-style syntax Q, or they are really app-level questions (like for PHP or Ruby, etc) and so most SQL Q would be much faster (the reason people usually ask those questions) on Stack Overflow, since the sheer volume of people on Stack Overflow far outweighs Database Administrators – jcolebrand Jul 18 '12 at 14:17
  • @jcolebrand Thank you for the comments. I think the only part I haven't yet addressed is the volume point. If a person should ask a basic SQL question on SO because it is a "code question" and they will get a faster answer, shouldn't all SQL questions go there? I'm not suggesting all questions go on one or the other, simply that we should honor the users choice of audience when the Q is on topic and not too simple to close. – Leigh Riffel Jul 18 '12 at 14:44
  • In that regard, the question is "how complex is the SQL question? If it's something that involves lots of relational algebra, you probably just need to ask a dba, but if it's only a lot of joins, and you're not sure which to make inner or outer, then ask any stacker". And that's pretty much all the guidance I can give there, and that has been my divining stick. If someone thinks it might be a better fit on Database Administrators than Stack Overflow, I look to see if it looks "complex" but since that's a highly subjective term ... even I can be wrong, ya know? – jcolebrand Jul 18 '12 at 14:50
  • @jcolebrand Exactly. If that has already been the migration policy then I think we are fine there, and my only remaining concern would be removing/rewording the FAQ point "Basic SQL - ask on Stack Overflow" – Leigh Riffel Jul 18 '12 at 14:55
  • Basic SQL questions are totally the domain of developers. Being on SO should not, however, be a barrier to them being helped by a DBA who may be able to bring detailed knowledge of advanced DB features to the table. – Jeffrey Kemp Jul 20 '12 at 3:59
  • 2
    ... because the great thing about DBA.SE is that there is a very high S/N ratio here. Almost everything here is useful to the domain of Data professionals. In my opinion (and that's what meta is, right? A battle of opinions), basic SQL questions will increase the noise. Additionally, SO leadership itself has, in the past, noted that they want these questions because the believe these questions are within their purview. – swasheck Jul 1 '13 at 16:06
  • 1
    @swasheck To play the devil's advocate, a simple question with a great answer may improve the ratio. – ypercubeᵀᴹ Jul 1 '13 at 16:12
  • @ypercube I can understand that but a) that seems to go against the wishes of SO, and b) it might ... but it might not (and it might increase the load of trying to weed out dupes and copycats of questions that have a "canonical answer.") – swasheck Jul 1 '13 at 16:15
4

Yes.                              

  • 5
    Yes, providing the questions are not so easy that they can be answered with Wikipedia or any Google search link. If you are asking about queries just to make your application work, ask on SO. If you are asking about queries for performance, efficiency, best-practice, or any of the higher-level concepts beyond "just make it work", then you really want an answer from a dba and not from programmers who typically are only concerned that their query "works". Once someone starts looking at why and how queries work, they're not too far off from being called a dba themselves one day. – Rachel Jul 19 '12 at 16:18
  • 1
    @Rachel I completely agree. I like your point of view take so much I think I'll put it in my question. – Leigh Riffel Jul 19 '12 at 17:02
  • 5
    If you want to teach people best approaches to working with data here, then starting with the basic questions that naturally arise is actually vital. I see no reason to migrate them away or disallow them. – Cade Roux Jul 20 '12 at 1:43
2

I believe that general SQL query questions should be allowed, but the word "basic" is something that I wouldn't agree with.

If it is something that can be quickly Googled, then I believe that it doesn't belong on this site. Stack Overflow caters very well for the "how do I.." type of query questions as well.

DBA.SE should be focused on advice w.r.t. query/SP performance, industry preferred practices, very technical problems and general "professional" advice.

In summary:

If someone is asking for professional/technical advise, then it belongs here.

If someone is asking us to solve their basic query errors (that can be easily Googled), then it should be migrated.

  • I believe they should be answered here. And for those that do Google their queries they will find the answers at the top of the Google results being DBA.SE results. – Paul Mar 18 '14 at 9:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .