Examveda

Is there any error in the following MySQL command?
SELECT emp_id, title, start_date, fname, fed_id
FROM person
ORDER BY RIGHT (fed_id, 3);

A. Yes

B. No error

C. Depends

D. None of the mentioned

Answer: Option B

Solution (By Examveda Team)

This question asks if there is an error in the provided MySQL command. Let's break it down:
The command tries to select specific columns (`emp_id`, `title`, `start_date`, `fname`, `fed_id`) from a table called `person`.
Then it uses `ORDER BY` to sort the results. The sorting is based on the `RIGHT(fed_id, 3)` part.
This means it's taking the last 3 characters (`RIGHT`) of the `fed_id` column and sorting the results based on those characters.
So, is there an error? The answer is Option A: Yes.
The error is in the `ORDER BY` clause. You can't directly use a function like `RIGHT()` within `ORDER BY`.
MySQL requires a column name for `ORDER BY`, and you need to use a subquery or a derived table to apply the `RIGHT()` function before ordering.
Here's an example of how you could fix it:
```sql SELECT emp_id, title, start_date, fname, fed_id FROM person ORDER BY SUBSTRING(fed_id, LENGTH(fed_id)-2, 3); ```
This uses `SUBSTRING` to extract the last 3 characters of `fed_id` and then sorts based on those characters.

This Question Belongs to MySQL >> MySQL Miscellaneous

Join The Discussion

Related Questions on MySQL Miscellaneous