Читайте также:
|
|
При сортировке с использованием столбцов, перечисленных в блоке se_ lect, можно ссылаться на столбцы не по имени, а по их порядковому но_ меру. Например, если требуется выполнить сортировку по второму илипятому столбцу, возвращаемому запросом, можно сделать следующее:
mysql> | SELECT emp_id, title, start_date, fname, lname |
_> | FROM employee |
_> | ORDER BY 2, 5; |
+________+____________________+____________+__________+___________+ | emp_id | title | start_date | fname | lname | +________+____________________+____________+__________+___________+
| | | | Head Teller | | 2000_05_11 | | John | | Blake | | | ||
| | | | Head Teller | | 2004_03_17 | | Helen | | Fleming | | | ||
| | | | Head Teller | | 2001_03_15 | | Theresa | | Markham | | | ||
| | | | Head Teller | | 2002_07_27 | | Paula | | Roberts | | | ||
| | | | Loan Manager | | 2003_11_14 | | John | | Gooding | | | ||
| | | | Operations Manager | | 2002_04_24 | | Susan | | Hawthorne | | | ||
| | | | President | | 2001_06_22 | | Michael | | Smith | | | ||
| | | | Teller | | 2002_06_29 | | Beth | | Fowler | | | ||
| | | | Teller | | 2002_05_03 | | Jane | | Grossman | | | ||
| | | | Teller | | 2003_01_08 | | Samantha | | Jameson | | | ||
| | | | Teller | | 2002_08_09 | | Cindy | | Mason | | | ||
| | | | Teller | | 2002_12_02 | | Sarah | | Parker | | | ||
| | | | Teller | | 2003_04_01 | | Frank | | Portman | | | ||
| | | | Teller | | 2004_09_15 | | Chris | | Tucker | | | ||
| | | | Teller | | 2002_12_12 | | | Rick | | Tulman | | | |
| | | | Teller | | 2000_10_23 | | | Thomas | | Ziegler | | | |
| | | | Treasurer | | 2000_02_09 | | | Robert | | Tyler | | | |
| | | | Vice President | | 2002_09_12 | | | Susan | | Barker | | |
+________+____________________+____________+__________+___________+ 18 rows in set (0.03 sec)
Скорее всего, вы редко будете использовать эту возможность, посколь_ ку если добавить столбец в блок select и не изменить порядковые но_ мера в блоке order by, результаты будут непредсказуемыми.
Упражнения
Следующие упражнения разработаны для закрепления понимания выражения select и его блоков. Решения приведены в приложении С.
3.1
Извлеките ID, имя и фамилию всех банковских сотрудников. Выпол_ ните сортировку по фамилии, а затем по имени.
Упражнения | |
3.2
Извлеките ID счета, ID клиента и доступный остаток всех счетов, имею_ щих статус 'ACTIVE' (активный) и доступный остаток более 2500 долла_ ров.
3.3
Напишите запрос к таблице account, возвращающий ID сотрудников, от_ рывших счета (используйте столбец account.open_emp_id). Результирую_ щий набор должен включать по одной строке для каждого сотрудника.
3.4
В этом запросе к нескольким наборам данных заполните пробелы (обо_ значенные как < число >) так, чтобы получить результат, приведенный ниже:
mysql> SELECT p.product_cd, a.cust_id, a.avail_balance _> FROM product p INNER JOIN account <1>
_> ON p.product_cd = <2> _> WHERE p.<3> = 'ACCOUNT';
+____________+_________+_______________+ | product_cd | cust_id | avail_balance | +____________+_________+_______________+
| CD | | | | | 3000.00 | | | |
| CD | | | | | 10000.00 | | | |
| CD | | | | | 5000.00 | | | |
| CD | | | | | 1500.00 | | | |
| CHK | | | | | 1057.75 | | | |
| CHK | | | | | 2258.02 | | | |
| CHK | | | | | 1057.75 | | | |
| CHK | | | | | 534.12 | | | |
| CHK | | | | | 2237.97 | | | |
| CHK | | | | | 122.37 | | | |
| CHK | | | | | 3487.19 | | | |
| CHK | | | | | 125.67 | | | |
| CHK | | | | | 23575.12 | | | |
| CHK | | | | | 38552.05 | | | |
| MM | | | | | 2212.50 | | | |
| MM | | | | | 5487.09 | | | |
| MM | | | | | 9345.55 | | | |
| SAV | | | | | 500.00 | | | |
| SAV | | | | | 200.00 | | | |
| SAV | | | | | 767.77 | | | |
| SAV | | | | | 387.99 | | |
+____________+_________+_______________+ 21 rows in set (0.02 sec)
Дата добавления: 2015-08-17; просмотров: 44 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Mysql> SELECT cust_id, cust_type_cd, city, state, fed_id _> FROM customer | | | Оценка условия |