I flagged this answer as not an answer. Now, I know that I was wrong because the flag was declined by a moderator. I thought that the answer was a rhetorical question (I believe it is but I could be wrong because English isn't my first language.) but didn't provide proper explanation of why the suggestion was made.

I feel that answers should be followed by a proper explanation. This answer to me looked like a comment. I have noticed in , lots of users don't actually provide any explanation at all but simply the queries that OP needs, which I feel is wrong but that's just me. I have done the same mistake few times but now I try to provide some explanation along with my answers.

I would like to know whether I shouldn't flag a post if the answer proves a point to OP's question, even if the answer itself is a rhetorical question. I just want to make sure that I don't repeat the same mistake again.

Could a moderator or someone please explain how I should make the call in the situations similar to the one mentioned above?

  • 8
    I must admit, I probably would have flagged that too. English is my first language, but I tend to be rather dogmatic and to me a question, even a rhetorical one, is not an answer. I think most people would disagree with me, although I'm used to that :) – vascowhite May 9 '12 at 13:32
  • 3
    Just because your flag was declined does not mean you were wrong. It means your flag was declined. – user7116 May 9 '12 at 13:33
  • 1
    @sixlettervariables: Yes, I understand that. However, I am trying to understand why it was declined so I can make better judgement call in future. – user162697 May 9 '12 at 13:35
  • 1
    I'm trying to tell you: don't change your judgement. It wasn't an answer worth keeping around (and I speak English as a first language). – user7116 May 9 '12 at 13:44
  • @sixlettervariables: Now, I understand. Thanks for the explanation. – user162697 May 9 '12 at 13:46

In general, asking someone a question (e.g., to get more information about their problem) would not be a good answer. These things should be posted as comments, instead. Therefore, flagging them as "not an answer" is appropriate.

But those are actual questions, not rhetorical questions. The thing about rhetorical questions is that they're just statements masquerading as questions. That means they can easily be rewritten as a statement without changing the meaning.

For example, the answer you linked says:

Why don't you declare 2 variables, assign them in separated selects and then divide?...

I would have edited to rephrase this as:

You should declare 2 variables, assign them in separated selects, and then divide.

That appears to be a concrete, testable solution to the problem, which is exactly what we expect from answers to questions on Stack Overflow.

I assume people sometimes construct their answers with rhetorical questions because they're unsure. Personally, if I'm unsure, I won't post an answer at all—I just leave a comment. But I don't suppose there's anything wrong with posting a suggestion you're not absolutely positive will work as an answer.

Anyway, the reason your flag was declined appears to be just a specific case of the more general principle that you should only raise flags to alert moderators of content that requires their intervention. As I've attempted to demonstrate above, the only thing this post really needed to turn it into an answer is an edit, and that's something anyone can do.

  • Thanks for the comprehensive explanation. I will leave a comment to the answered or I will try to improve the answers, if possible before resorting to flagging for moderator's attention. – user162697 May 9 '12 at 19:51
  • I got slammed last week for answering someone's "how do I clone a database from .NET?" with the "answer": "Why not use backup and restore?" Which very well may end up being the answer - but due to other people complaining about my rhetorical response I actually went on to add code demonstrating how to do it. The reason I phrased it as a question is because I believe it is an absolutely valid answer, but the "unsure" part is that there may be some undisclosed reason the user can't use backup and restore. – Aaron Bertrand May 9 '12 at 20:36
  • "rhetorical questions... can easily be rewritten as a question" did you mean as an answer here? (my question is rather rhetorical) – gnat May 9 '12 at 21:13

Wouldn't you agree that rhetorical questions can also answer questions, but rather suck as answers, as they are no answers and should be downvoted instead?

  • 6
    This should be downv...wait a minute... – Bart May 9 '12 at 13:24
  • 4
    +1 for irony, but -1 if I follow your advise... – Toon Krijthe May 9 '12 at 13:24
  • 4
    must... resist... urge... to... doownvote... ;) – Andrew Barber May 9 '12 at 13:25
  • 3
    @Kobobby No, I probably wouldn't :) – vascowhite May 9 '12 at 13:35
  • 4
    I agree, this answer sucks; as such, I downvoted it. – BoltClock's a Unicorn May 9 '12 at 13:41
  • 2
    @Bolt Well, at least you commented along with your DV! ;) – Andrew Barber May 9 '12 at 14:00
  • For comparison's sake, here's a question with a recent answer that is worded as a rhetorical question. IMO, this is a fine answer. stackoverflow.com/questions/10517835/… – Andrew Barber May 9 '12 at 14:16
  • 1
    @AndrewBarber: At least that answer in the link follows up with some code to assert the answerer's point. If that post had only the question and nothing else, that to me feels wrong. – user162697 May 9 '12 at 14:23
  • @Siva Indeed. I posted partly as a contrast. – Andrew Barber May 9 '12 at 14:24
  • 4
    I've read this like 4 times, and while I get the joke, I have no idea what you're actually trying to say. – Cody Gray May 9 '12 at 19:51
  • @TheEstablishment: It's poorly worded, yes. "Rhetorical question can answer questions, but they're not good answer and, in most cases, deserve to be downvoted". – Time Traveling Bobby May 9 '12 at 20:09

If you think the answer lacks enough substance to be helpful I would vote it down. I normally only flag answers that are clearly not answers and have very little hope of becoming one through edits.

The answer you cited seems like an answer to me if you re-word it a little (granted it's not a GREAT answer):

You can you declare 2 variables, assign them in separated selects and then divide.

  • 7
    Exactly. I've had a handful of flags declined out of 1100, and most were my misunderstanding of the line between bad answer and not an answer. – Andrew Barber May 9 '12 at 13:26
  • That makes sense to me. I guess that I am not good at rhetorical questions. I was under the impression that answer should be an answer and not another question. – user162697 May 9 '12 at 13:27
  • 1
    @Siva Just think about it like this: if it were phrased "Just declare 2 variables, assign them in separated selects and then divide." would you have flagged it as "not an answer"? – Bart May 9 '12 at 13:29
  • @Bart: No, I wouldn't have. Thanks for the explanation. – user162697 May 9 '12 at 13:30
  • @Bart: that's a different answer. The linked answer was a comment. – user7116 May 9 '12 at 13:47
  • @sixlettervariables The answer linked to by the OP is (for me at least) "Why don't you declare 2 variables, assign them in separated selects and then divide?...". Are we looking at different things? – Bart May 9 '12 at 14:36
  • @Bart: no it's the same comment, just it got incorrectly placed as an answer. – user7116 May 9 '12 at 14:46

I think there are a few questions that are in fact answers, more so for "easy" questions. Some questions highly depend on the context and it's not always clear what the asker has tried.

For example, a question like:

I'm trying to do X with product Y. How can it be done?

A potential answerer (who may know product Y well) could seek clarification and say:

Did you try to do A/B/C as shown in the third example in the official documentation? (with a link preferably)

This sort of question could be both a question and an answer if the asker isn't aware of that part of the documentation.

I've seen cases where people write this sort of comment and then someone else says more or less the same thing, as a proper answer, and collects the points.

Rhetorical questions can simply reflect that fact that the answer seems obvious to the answerer (but perhaps not so to the asker). (It shouldn't be assumed to be condescending in general.)

  • 2
    Rhetorical questions are comments, not answers. Especially when they're a single sentence without any attempt to explain themselves. – user7116 May 9 '12 at 13:46
  • I agree with @sixlettervariables on this one. That's what made me to flag that answer in the first place. – user162697 May 9 '12 at 13:48
  • @sixlettervariables: sometimes they can be answers that are a bit "outside the box" but still solve the asker's problem. Here, this is not a good example because the question was rather clearly asked, but this is not always the case. For example, I could easily have worded this answer as a rhetorical question by accident: the answer seemed so obvious to me at the time that I thought I had misunderstood the question. – Bruno May 9 '12 at 13:51
  • @Bruno: often I'll just make those comments and vote to close their question as too localized if its a mistake in understanding. If its a common mistake in understand you should provide a sufficient answer to help more than just the asker. In that case there isn't a problem. – user7116 May 9 '12 at 14:03
  • @sixlettervariables: What I meant was that rhetorical questions can be a more polite way to say RTFM sometimes, perhaps with a couple of words in the sentence that can lead the reader to the right place. – Bruno May 9 '12 at 14:13

This example in the What is an acceptable answer? FAQ...

2 Have you fooed the baz?

...is not an answer because

[it is] clearly asking for more information and [doesn't] answer the question.

However this answer...

Why don't you use foo instead of bar?

...isn't clearly asking for more information since rhetorical questions don't ask for more information.

In fact rewriting it this way...

You should foo instead of bar

...doesn't seem to make it better in any real way. In fact it just seems aggressive.

As an example of this aggression is where someone posted an answer like this where the OP was looking to get two counts in one query.

The most straightforward way is just to use 2 queries. There is absolutely no harm in requesting 2 different sets of data using 2 queries yet not a single reason to do it with one.

Perhaps if were asked in a rhetorical fashion it would have taken the bite out of the answer*. But either way I don't think a moderator should delete these and convert to comment.

except given who the answer came from I suspect that would have lost its intended effect


lots of users don't actually provide any explanation at all but simply the queries that OP needs

If a query solves the problem, does it always need further explanation? You seem to think that every single user needs their hand held through the basic elements of a query and in a lot of cases I think that is overkill and sometimes offensive. If the user follows up and asks to clarify why such and such syntax was used or what was meant by this or that line, then it requires. I think it's going to be very hard to come up with some objective criteria to determine when a code samples requires zero, some, or a lot of explanation.

In my case, I despise the opposite. A vague recommendation to "use a CTE" that gets accepted:

SQL Server MERGE + Joining other tables

The guy had two separate "answers" to that question, too, which I find infuriating. And in all honesty both answers could and should have been comments. How are other potential answerers supposed to guess that the OP forgot what a CTE is? Great, that helped the OP, but how does it help any future readers? Why should a question like this stay on the site?

Anyway I see this a lot. People with drive-by answers that have some vague reference to a concept, with no explanation and no code sample that shows how to actually implement the thing. Anybody can go look up the syntax diagram on MSDN, but that once again begs the question, why is an answer to "use MERGE" or "use a CTE" a valuable answer?

  • Sorry, if I had come out wrongly in the way I stated that sentence. I always read through your answers and you provide very good explanation of what the query does. I am not talking about the syntax used in an answer. Sure, anyone can look that up. An answer that simply says Try this... followed by code may be acceptable and might have even helped the OP. My statement more about how is it going to help someone who if going to see the answer sometime later. A simple explanation of why they took that approach would help others. – user162697 May 9 '12 at 20:41
  • Well again I think it is hard to draw that line. You can't predict the skill level of all users that will read the question / answer in the future, and if you take the time to cater to the lowest common denominator, you won't be helping very many people anyway. I don't think every single query needs to be walked through, heavily commented, etc. There is such a thing as overkill here. – Aaron Bertrand May 9 '12 at 20:43
  • For example in this answer, I could have simply said, use Dynamic SQL and use QUOTENAME and not have explained anything else. My point of view is that doesn't help anyone to learn anything. It simply solves the problem at the given moment. I have explained little more about why I did the way I did. I hope that makes sense. – user162697 May 9 '12 at 20:44
  • May be that is true. I don't disagree with the fact that it differs from one person's point of view from other and it is indeed a very hard to draw line. I had simply stated my point of view. I don't want to simply accumulate reputation. I would like to learn during the process. – user162697 May 9 '12 at 20:47
  • See I don't think you need to explain the reasons for QUOTENAME in every single answer that uses it (which should be all answers where identifiers are used in dynamic SQL), unless the question is specifically about QUOTENAME. If the user is really curious about QUOTENAME, he/she can look up QUOTENAME, or ask you directly, or ask a separate question like "Why should I use QUOTENAME in dynamic SQL?" I know your intent is to provide full disclosure to the OP and future readers, but as I said this can quickly become overkill. Imagine if I described LTRIM, the + operator, and substring in every A? – Aaron Bertrand May 9 '12 at 20:48
  • And yes I agree that it is not about reputation. I'm not arguing that you should answer the question as quickly as possible so you can move on to the next and score more points. In cases where you deem it is warranted (e.g. clear lack of understanding from the OP) then go ahead and explain away. But I don't think that's necessary or even helpful in many cases, and I don't think other answers should be judged (for validity, or down- or up-voting, or whatever) solely on whether they explained their answer the same way you would have. – Aaron Bertrand May 9 '12 at 20:50
  • I see your point about the overkill. I try to explain the best I can. May be I shouldn't expect the same for all the answers which may end up being very trivial and doesn't need much explanation. Thanks for your inputs. – user162697 May 9 '12 at 20:54
  • I also think it's not up to you necessarily to determine whether a rhetorical question is useful to the OP (or to other readers). Again, not every such answer is as useless as you might think - and in some cases it can be even more useful to future readers than it might be to the OP at the time. But as others have suggested, there are other mechanisms than flagging to deal with those that you do think aren't very helpful. (And I say that after flagging the answer I mentioned above. :-)) – Aaron Bertrand May 9 '12 at 21:02
  • I am not expert in SQL by any means. So, I try to practice the questions asked in SO that helps me learn few things along the way. I try to answer the way that I tried out and explain them as it is. That's why my expectations were to see some explanation on some of the queries. I am not judging any answers based on the lack of explanation. I can understand them even without the explanation. I just felt it would help others too if the queries accompanied some explanation. That' why I stated it that way in this question. – user162697 May 9 '12 at 21:03
  • That's what I learnt from the other answers in this question as well. – user162697 May 9 '12 at 21:03
  • Funny, something like this just happened : stackoverflow.com/questions/10523860/… – Aaron Bertrand May 9 '12 at 21:14

You must log in to answer this question.