Looking at EXPLAIN in MySQL workbench, the two snippets below seem to be equal. The first piece of code is much more readable, the second is something that I adapted from an old MS Access query. Can any of you please hit me with a cluestick and explain if there are any differences?
select transactions.transactions_id, transaction_dates.date, concat_ws(' - ', customers.customer_username, account_types.account_name) as accounts_info, transaction_types.transaction_type_name, transactions.transaction_amount from transactions
inner join transaction_types on transactions.transaction_types_transaction_types_id = transaction_types.transaction_types_id inner join accounts on transactions.accounts_accounts_id = accounts.accounts_id inner join transaction_dates on transactions.transaction_dates_date_id = transaction_dates.date_id inner join account_types on accounts.account_types_account_types_id = account_types.account_types_id inner join customers on customers.customers_id = accounts.customers_customers_id
order by transaction_dates.date desc, accounts_info asc
----
select transactions.transactions_id, transaction_dates.date, concat_ws(' - ', customers.customer_username, account_types.account_name) as accounts_info, transaction_types.transaction_type_name, transactions.transaction_amount from transaction_dates
inner join ( customers inner join ( account_types inner join ( transaction_types inner join ( transactions inner join accounts on transactions.accounts_accounts_id = accounts.accounts_id ) on transactions.transaction_types_transaction_types_id = transaction_types.transaction_types_id ) on accounts.account_types_account_types_id = account_types.account_types_id ) on customers.customers_id = accounts.customers_customers_id ) on transactions.transaction_dates_date_id = transaction_dates.date_id
order by transaction_dates.date desc, accounts_info asc
|