My experience has shown me that pay ranges exist based on the first few years of experience. So, if you put down 2.5 years experience, the employer will have an idea of what to expect. A 20% increase (about) every two years is what I have personally seen with SQL programming. However, a friend I know has mentioned he did better with java programming.
I interviewed at one place where their employment application stated it was required to provide my current salary. I put "sufficient" in the box. They called me in for one interview but I did not make the second interview.
Another place I talked with, started with a phone call from their HR. First question from them was my identity, "Hello is this ...". The second question was the salary range I was looking for. I did not answer since I believe it is better to get a face-to-face interview first and tell the lead tech manager the salary range in person, after they have seen me and invested a bit of their personal time. I really did not care for the position since it appeared to be a lateral move in which I would learn little more.
During the in-person interview with the tech manager, I told him my honest current salary and followed up with a request for a 20% increase from there. They mentioned that was too high. Companies always say that. Then I mentioned that I wanted a specific number at 23% and followed by stating anything less than 20% and I would allow my current employer to counteroffer. At the end of this in-person interview they asked me again what I wanted, so I told them a specific number at 25% higher than I was currently earning. Everytime they asked, I increased the amount.
A few days later, this company offered me only $1,200 more than I was currently making. I politely told them I was not interested for that amount, put down the phone a bit disapointed and continued looking for a job. Three weeks later, late Friday evening, I received a phone call asking to renegotiate. They offered me 21% more than I was currently making and I happily accepted.
Now here is the kicker, at some point during the process after the in-person interview, I filled out an employment application where they asked what I was currently earning. Since I had told the tech manager during the interview, I truthfully put down the exact amount I was earning. When I later accepted the position, I had to provide proof of my current salary. They would not hire me without seeing my paystubs, with the numbers. Apparently, this is corporate policy. I figured that for a 20% increase, they can have the paystubs.