Как отсортировать данные в SQL, Python и командной строке Linux?

«Как отсортировать данные в SQL, Python и командной строке Linux?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SQL: Используйте предложение ORDER BY в запросе SELECT. Указывайте столбец и направление сортировки (ASC — по возрастанию, DESC — по убыванию).

SELECT name, salary FROM employees ORDER BY salary DESC;
SELECT * FROM products ORDER BY category ASC, price DESC;

Python:

  • Функция sorted(): Возвращает новый отсортированный список, не изменяя исходный.
    numbers = [3, 1, 4, 2]
    sorted_numbers = sorted(numbers)  # [1, 2, 3, 4]
    sorted_desc = sorted(numbers, reverse=True)  # [4, 3, 2, 1]
  • Метод .sort(): Сортирует список на месте (изменяет оригинал) и возвращает None.
    numbers.sort()  # Теперь numbers = [1, 2, 3, 4]

Командная строка Linux: Используйте утилиту sort.

# Базовая сортировка строк файла
sort file.txt
# Сортировка по числовому значению (второе поле)
sort -n -k2 data.txt
# Сортировка в обратном порядке
sort -r file.txt
# Удаление дубликатов после сортировки
sort -u file.txt

Важное замечание для JavaScript: Метод array.sort() по умолчанию сортирует элементы как строки в лексикографическом порядке. Для сортировки чисел нужна функция сравнения:

// Неправильно для чисел:
[10, 2, 1].sort(); // [1, 10, 2]
// Правильно для чисел:
[10, 2, 1].sort((a, b) => a - b); // [1, 2, 10]