722
u/EncryptedPlays 1d ago
then there's goofy lil me who holds shift the entire time
284
41
u/Keepitsharkey 22h ago
I’m glad I saw this. I’m a shift person.
And I love typing everything upper case #NoCapslock
28
u/UInferno- 15h ago
Meanwhile my girlfriend presses capslock twice to capitalize one letter.
18
5
u/Paladin7373 12h ago
I have never understood people who do this…
I see my friends do it all the time and it’s just confusing→ More replies (2)3
u/BarracudaFar1905 5h ago
I've never seen anyone do that. They should make a Netflix documentary on people that do that. A scary, scary, twisted documentary.
20
→ More replies (10)5
2.3k
u/NormanYeetes 1d ago
the elites don't want you to know this but you can type lowercase SQL queries no ones forcing you to shout them at the screen
637
u/Totallycomputername 1d ago
If I don't type in caps then the query wont take itself seriously.
107
u/Achaidas 20h ago
The real question is this:
, comma before
or comma after ,
21
69
u/dexters_trap_house 19h ago
Comma before? Are you the same guys who get in the shower and then turn the water on?
45
u/chuch1234 19h ago
Only if i want to be able to comment out the soap without making the entire shower have invalid syntax :/
→ More replies (3)3
u/ddBuddha 7h ago
Comma before is better so you can easily comment and uncomment without having to change the commas
8
u/Just_Information334 15h ago
Lowercase and comma before, also table_id. Let's blow some minds:
select tableA_id , some_field from table_A as a inner join table_B as b using(tableA_id)→ More replies (2)4
→ More replies (3)3
u/rocksolid77 9h ago
I used to be a comma after guy and found the comma first pattern to be so strange but I've come around to it.
Comma first makes it so much easier to see if there is a comma missing and you're almost never commenting out the first field of your SELECT.
197
u/PerpetuallyDistracte 1d ago
I've been writing SQL for 15 years. Eventually you get bored of all lowercase or all uppercase AND START writing your QUERIES LIKE this. Just a psychotic mishmash of muscle memory, laziness, and autocomplete all fighting each other within the same statement.
74
u/Ashdog73 1d ago
This. My queries are lowercase for the stuff I typed myself and caps for bits I've copied in from somewhere else
31
u/cantgrowneckbeardAMA 1d ago
Lowercase on first draft (it will fail to run anyways).
Uppercase if I ever end up showing the query to someone (hopefully it doesn't fail when they run it)31
u/sequelseize 1d ago
sElEcT a as camelCase, b aS under_score, c As fUCKiT fROm ab lIMit 1000
10
u/SippieCup 1d ago
We have a Postgres db which our orm uses camelcase names.
So we have to add in quotes too.. and correctly case our column names.
The migration to correct names would break so many deeep sql integrations, it just sucks and we deal with the debt.
5
u/EndIsrael 23h ago
That actually seems like the kind of thing AI would be very good at with few mistakes. It doesn't need to understand anything, just find all the SQL code and change all the names. Basically find/replace but slightly smarter.
8
u/SippieCup 23h ago
Oh it’s not hard to do with migrations etc. although I would use a codegen script instead of straight ai.
It’s more the coordination with other teams, schema changes, etc. depreciation of column names, remapping to new ones, etc.
We unfortunately have a couple legacy integrations that just require db access to tenant systems for their bi.
4
u/PerpetuallyDistracte 1d ago
That's how my queries look after they failed for the fifth time.
→ More replies (1)13
9
6
→ More replies (3)3
1.1k
u/ClipboardCopyPaste 1d ago
YOU CAN BUT THAT DOESN'T MEAN YOU SHOULD.
GOD DOESN'T LOVE MEN WHO WRITE SQL IN LOWERCASE.
/S
328
u/Shambolic_Potato 1d ago edited 19h ago
SELECT * FROM WHAT THIS GUY SAYS
Edit: Typo lmfao
158
8
209
u/TallGreenhouseGuy 1d ago
THANK YOU FOR YOUR ATTENTION TO THIS MATTER!
31
53
16
16
u/KittyInLace 1d ago
What about us women?
32
u/AbleMarionberry7146 1d ago
The bible says women were forked from men. It’s for a good reason. The reason being that you can enforce more reasonable code style than all caps sql like caps on sql key words only. Or using a reasonable text editor that caps isn’t needed at all to identify keywords from nonkeywords.
52
→ More replies (3)12
61
52
u/PuzzleheadedBet3574 1d ago
This does not go through in our code review, do this and our colleague, big anime fan btw will lose his shit and start talking to himself and goes to 5 smoke breaks in a half day
21
→ More replies (1)11
u/Surface_Detail 1d ago
Well, he can go dunk his head; the query language itself is 100% case insensitive, so are objects unless you contain them in quotation marks.
The argument can be made that keeping all one case can avoid issues with object referencing, but you'd only ever need to contain objects in quotation marks if you put a space in their name, which is a much worse faux pas and you'd better hope that you never need to connect to anybody else's objects from outside the team.
Also, all lower case/mixed case is much less tiring to read.
9
u/ArmchairFilosopher 1d ago
SQL Server at my last job would like a word...
So would MySql hosted in Linux with a default configuration. Meanwhile in Windows it doesn't care by default.
But yeah, I agree in general that object names shouldn't be case-sensitive. Heck, most things except passwords shouldn't either.
7
u/Sokaron 1d ago edited 23h ago
Postgres is not case insensitive.
I don't really care for an impromptu script, but if its getting checked in mixed case is just laziness. I don't care all uppercase or all lowercase but pick one, enforce it with a linter, configure a precommit hook to autofix, and be done with it.
→ More replies (2)5
u/cudenlynx 1d ago
Which query language? You are talking as if there is only one version of SQL out there which isn't the case. Some are case insensitive by default, some are not.
31
u/FormerWorker125 1d ago
Lowercase for anything you named yourself, UPPERCASE FOR EVERYTHING ELSE.
3
49
u/Arkevorkhat 1d ago
you can, but it's just more readable (in my opinon) to write
SELECT * FROM users WHERE id=?;than
select * from users where id=?;is that mostly due to historical baggage? yeah kinda, but it also just doesn't really look like SQL to me unless there's some yelling involved.
14
u/7f0b 23h ago
I prefer a strongly-structured syntax so it is easier to read in the future, which is most important anyway. So going through the trouble of capitalizing what should be, as I go, is worth it. I also always use back ticks around table names, since it makes it easier to search by table name inside mixed codebases.
6
u/Arkevorkhat 22h ago
Oh 100% well written SQL makes this moot, but if I find the unicorn that writes SQL that doesn't look like shit I'm not about to start nitpicking their capitalization
→ More replies (1)9
u/OldSchoolSpyMain 18h ago
Yup. People don’t realize that putting the reserved words in upper case eases the cognitive load on the brain when reading the scripts for comprehension.
Same goes for new lines and tabs.
Using all three techniques renders SQL very easy to read, comprehend, update, and debug.
→ More replies (1)→ More replies (1)7
u/ILoveRawChicken 21h ago
Yeah I get embarrassed passing ugly queries to other people. When I first began I just wrote everything lowercase until a coworker said “you live like this?” when sharing something in Snowflake. I still get embarrassed thinking about that lol. (He was a good friend though)
33
u/Demostes 1d ago
Not true actually, machines can hear plain SQL. U need to shout at them!
31
u/h3lium-balloon 1d ago
It’s been proven all caps SQL is 20% faster bc the machine knows you mean business.
12
u/Horror-Vanilla-4895 1d ago
I type in lowercase because I’m too lazy to caps lock.
→ More replies (1)3
47
7
u/cudenlynx 1d ago
This isn't always true. PostgreSQL, PL/SQL, and SAP HANA are case sensitive by default.
In SQL Server, the case sensitivity is off by default but some companies do enable case sensitivity.
→ More replies (2)3
u/MellowedOut1934 18h ago
Forgive if I’m missing something, but my PostgreSQL is case sensitive on table names and strings etc., but not on the syntax bits like SELECT or WHERE.
→ More replies (1)11
u/Meli_Melo_ 1d ago
Lowercase SQL is like 2 spaces indentations, you CAN do it but everyone will hate you for it
3
u/flukus 20h ago
is like 2 spaces indentations,
You mean there's a simple solution (tabs) that would keep everyone happy?
→ More replies (1)→ More replies (1)9
u/FeliusSeptimus 1d ago
If someone reads my SQL and hates me for the indention and casing rather than whatever other weird shit I discovered you could do with it, I'm considering that a solid win.
→ More replies (2)4
u/StarSchemer 1d ago
no ones forcing you to shout them at the screen
They ought to be.
How will a theoretical new developer in the future ever be able to distinguish between key words and database objects at first glance if strict formatting guidelines aren't religiously followed?
→ More replies (1)3
→ More replies (30)3
u/EndIsrael 23h ago
Sometimes I do lowercase, it really depends on the vibe I'm getting from that specific query.
101
61
u/ButWhatIfPotato 1d ago
You have to, how else will the database know that you are angry and are about to unleash the fucking fury?
11
28
u/brandi_Iove 1d ago
database dev here. you’d be surprised by the amount of lower case code out there.
→ More replies (2)
359
u/blaues_axolotl 1d ago
i actually write it in lowercase
269
u/J7mbo 1d ago
MONSTER
137
46
u/Thriven 1d ago edited 1d ago
The biggest monster I ever worked with would have these queries with absolutely 0 formatting and would only carriage return when he hit the end of his monitor. He'd have subquery inside subquery like it was a nested function and vlookup.
He wrote hot trash queries. One day when he went into a meeting and left his computer unlocked I barely scrolled in on his query window in SSMS so every query was cut off so he'd have to scroll right/left to read it all and he was too dumb to know he was zoomed in or that shift scroll wheel was to scroll horizontal.
He started rewriting procedures and commiting them to production to match his new zoom level. I had a database trigger stopping people from updating procedures unless the database was in a certain mode to prevent people with way too much access to change procedures.
He lost his damn mind over the database trigger I added. I don't think he ever figured out about the zoom. One day I set it back to what it was originally and he gave up rewriting them back to their original format. He exploded at me and didn't come back for like 2 weeks
That was the first of two people who got violent at the workplace at that job with me.
19
u/Brianfromreddit 1d ago
I want to hear about the second one now
17
u/Thriven 1d ago
Ok so I started writing this as I was waiting for people to show up for disc golf. While writing this I looked down and had about 40 yellow jackets stinging me through my pants. I ran a mile and now I'm nursing about 6 really bad stings. Since they were stinging me through my jeans they just kept stinging.
Anyways... The second instance...
Former dev manager for the team. He was friends with the CTO and they were good ol boys from another company. This was in the mining industry. All these guys were ex-junkies who got out of the mines of AZ and MEX. The CTO didn't want to get rid of him when the complaints from the department came in and demoted him to senior dev. He kept his office and kept his door shut for 6 months.
The new dev manager was awesome despite the fact he didn't handle the old dev manager. New dev manager wanted to cross train everyone. I did all database work. One guy did all front end. Another did all API work. We hated the cross training crap but we did it to knowledge share. The new dev manager and the team started jiving and productivity was going through the roof except we kept failing sprints. The dev manager said we only put in the sprint what we could complete and we all did our work but that former dev manager.
The old dev manager said ,"No I am not doing cross training. I'm working on my own project these guys never delivered." He proceeded to tank 6 sprints saying he was 90% done each time. The dev manager said if he failed we all failed.
Finally in our retro I told him ,"I want to pull your project from the sprint. You are not representing your progress accurately and this work probably should be scoped and an epic. I don't know for sure because none of us know what you are doing."
"Fuck you." He says...
"What?"
"You heard me. Fuck you!"
He leapt across the table and it just folded. The women in the room went screaming.
He started screaming at me he was going to kill me. The dev manager removed him from the premises. I left through the back door.
COVID hit like a week later. He never returned to the office and they laid everyone off two weeks later but one dev and the former dev manager because he is buddies with the CTO. The last week we were employed to prove he was working on something he demo'd what he was working on. It was a http API service written in powershell. Think flask for Python or Express for node...just his API and http service ran in powershell. No frontend framework, just JS. It allowed you to show resultsets stored in tables. It used SQL injection as a feature.
I caught up with the nice dev manager and he said the CTO covered for him so hard he had to go around to HR to get it reported what happened. The main office was not in this country so after 6 months and further investigation with former employees they finally let the former dev manager and CTO go.
That entire dev team is like family though. We still chat on discord and help each other get jobs, references, and side work. I'd hire any of them in a minute.
I kind of felt bad for the dev manager at the time because he lived 90 minutes away and had a child who was extremely violent and he'd leave work all the time because she attacked other kids.
I don't think he's generally a violent guy but he lost it that day.
3
3
23
u/NoThatsNotPasta 1d ago
Me too. I ain't got time for caps lock. I got shit to do, places to go and, people to annoy.
12
36
u/Nvrnight 1d ago edited 1d ago
Same, I don't understand why anyone would choose to do upper case. I am of course a believer in "you do whatever the code base currently does", but if it's a brand new project, the standard is lower-case for me. It's not 1990 anymore, our code editors display the keywords colorized.
12
u/wrecklord0 1d ago
MY HEARING ISN'T WHAT IT USED TO BE, I CAN'T HEAR MY INNER VOICE WHEN THE CODE IS WRITTEN IN WHISPERS
19
u/_Weyland_ 1d ago
Dbeaver's default setting automatically convert it to lowercase.
→ More replies (1)7
13
3
3
3
→ More replies (9)8
u/Thriven 1d ago
I'm up voting you because people need to hate you more.
Seriously though KEYWORDS need to be upper case and columns lower case. I prefer snake case.
Makes everything more readable.
7
→ More replies (4)7
u/BufferUnderpants 1d ago
i CAN'T SEE WHY capitalizing syntactical elements WOULD MAKE the code MORE readable.
There's syntax highlighting for a reason, and the SQL grammar makes it easy to tell what's a table, column or function anyway.
→ More replies (5)
82
u/OGxPePe 1d ago
Im a lowercase guy. Why did the ever start with CAPS?
144
u/zefciu 1d ago
Because SQL predates the ubiquity of syntax highlighting. This usage of caps (also seen in e.g. COBOL) gives some visual hints about syntax even on monochrome.
→ More replies (1)42
u/OGxPePe 1d ago
So my using SQL on the daily is like using ancient magic?
31
u/PerpetuallyDistracte 1d ago
Yeah! Each time you use SQL you're going back to the 1970s, it's that old!
57
u/Robertos1235 1d ago
I'm a mixed guy. I write like this. It's fun.
SeLeCt idUser aS id, username As name fRoM User WhErE username lIkE CoNcAt('%', ?, '%') lImIt 1043
→ More replies (3)6
→ More replies (2)5
60
u/AlwaysHopelesslyLost 1d ago
I just use Shift. It doesn't cost me anything extra and it makes switching from keywords to columns easier
36
u/taybul 1d ago
Holding shift for caps while typing to me is like grinding a rail on a skateboard.
→ More replies (1)21
3
u/FujiKeynote 1d ago
Guilty of the same. My caps lock is remapped to Esc... Muscle memory runs deep at this point, I've considered mapping LShift+RShift to caps lock but that's diminishing returns and I still end up holding down shift if I don't catch myself. Autocomplete helps though
→ More replies (1)3
u/LarkinToWinnipeg 1d ago
I just flatten one of the pins on the switch for the key and put it back. Capslock is the devil.
3
u/Proglamer 1d ago
Some tools like DBeaver can auto-allcap keywords but keep the case of names. Super convenient!
→ More replies (3)3
u/WillOCarrick 23h ago
I have met people who used caps lock to capitalize the first letter instead of shift.
Yeah, that. It was absurd.
13
u/BoldFace7 1d ago
I feel the same way writing in FORTRAN.
ETA: In FORTRAN 77 at least, the F90 code bases I've worked in have had much better inside voices.
→ More replies (2)
11
u/halawani98 1d ago
What about keywords in caps but column/table/constraint names in lowercase?
I do this because it makes it easier to read scripts
→ More replies (1)
10
u/leandroman 1d ago
Only the reserved words my friend. My little shift pinky has its own zip code of muscles.
7
6
7
7
u/MiseryEnthusiast 1d ago
All my sql is in lower case in protest. It also makes it easy to tell when someone has messed with my shit.
→ More replies (1)
7
4
4
3
u/Ballbag94 1d ago
Never caps lock, always shift. Caps lock is almost as weird as writing the prowords in lowercase
3
3
3
3
u/OoohManny 1d ago
Can't imagine writing a long and complex procedure in lowercase.. sounds like a nightmare to read 😱
→ More replies (1)
3
3
3
u/tomthedj 23h ago
naw lowercase so the db knows that when you start doing upper case, shit is about to go down
3
3
3
u/Global-Tune5539 14h ago
And then there are lazy people like me who write everything in lowercase letters.
2
2
u/oompaloompa465 1d ago
think about it...
ai takeover came before having sql decent autoformatting syntax and indentation
→ More replies (1)
2
u/fwork 1d ago
when I did my comp sci degree, my teacher wouldn't use capslock, he'd use shift. and if he got distracted while typing an SQL query, he'd keep holding it down.
after 10 seconds or whatever, stickykeys would turn on, and the locked down computers we had in all the classrooms wouldn't let you turn it back off. So he had to reboot.
This happened multiple times per class period some days
2
2
u/nellbones 1d ago
CAPS LOCK, ITS CRUISE CONTROL FOR COOL
but with cruise control you still have to steer
2
2
2
u/ZeppelinJ0 23h ago
Sounds like y'all just write some gnarly SQL. At least use SQLFluff you neanderthals
2
2
u/mixxituk 23h ago
Yoo have to scream because it's a roller coaster ride till you finish the WHERE which for some dumb reasons is at the end 😭😭
2
1.5k
u/SageLeaf1 1d ago
Yelling at the machine makes it listen. SELECT that shit. FROM there. Got it?