-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Indenting parenthesized table references #37
Comments
I've given this a little thought, but not sure I've come to a conclusion yet. There are quite a few options, of which, these are just a few. I am not sure I have a strong opinion either way on these. SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (pmt_orders
JOIN wp_users
ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (pmt_orders JOIN wp_users ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (pmt_orders JOIN wp_users
ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN ( pmt_orders
JOIN wp_users
ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (
pmt_orders
JOIN wp_users
ON wp_users.ID = pmt_orders.user_id
)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (pmt_orders
JOIN wp_users
ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 |
If I were to pick one it would probably be: SELECT pmt_courses.course_name, pmt_tokens.token, pmt_orders.order_id, wp_users.user_email
FROM wp_pmt_order_token
JOIN pmt_courses
ON pmt_courses.course_id = pmt_tokens.course_id
LEFT JOIN (pmt_orders JOIN wp_users
ON wp_users.ID = pmt_orders.user_id)
ON pmt_orders.order_token = pmt_tokens.token
WHERE wp_pmt_order_token.fk_order_id = 28997 Have you had any further thoughts on this @fulldecent ? |
I have studied some other style guides for this question:
And they are all just so far behind the times. They do not provide any useful commentary on the subject. So just from the looks of it, I will say your choice, ...
LEFT JOIN (pmt_orders JOIN wp_users
ON wp_users.ID = pmt_orders.user_id) as well as ...
LEFT JOIN ( pmt_orders
JOIN wp_users
ON wp_users.ID = pmt_orders.user_id) seem categorically better than the others. The "river" rule is strong and should not be violated. Otherwise, the one-liner is a non-answer, since any indentable thing could be a one-line in the right circumstance. End result, I agree with your choice. |
I agree with
as well because of its adherence to the river rule, which I've found to be very helpful for readability. Subjectively, I find it to be the easiest of all to read. |
The guide does not appear to have an opinion on indenting parenthesized table references.
Could this matter please be adjudicated?
Note to self: https://dev.mysql.com/doc/refman/5.7/en/join.html
The text was updated successfully, but these errors were encountered: