Учебники

Apache Derby – заказ по пункту

Предложение ORDER BY используется для упорядочения содержимого результирующего набора в том порядке, в котором оно использует ключевые слова, ASC представляет восходящий порядок и DESC представляет нисходящий порядок. Если вы не упомянули ни одного из них, по умолчанию содержимое будет упорядочено в порядке возрастания.

Синтаксис

Ниже приведен синтаксис предложения ORDER BY:

SELECT * FROM table_name ORDER BY column_name ASC|DESC.

пример

Предположим, у нас есть таблица с именем Employees в базе данных со следующими записями:

ID |NAME |SALARY |LOCATION
------------------------------------------------------------------------------
1 |Amit |30000 |Vijayawada
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Vijayawada
5 |Trupthi |45000 |Kochin
6 |Suchatra |33000 |Vijayawada
7 |Rahul |39000 |Lucknow 

Следующий запрос упорядочивает содержимое таблицы в порядке возрастания на основе имени сотрудника.

ij> SELECT * FROM Employees ORDER BY Name;

Это сгенерирует следующий вывод –

ID |NAME |SALARY |LOCATION
---------------------------------------------------------------
1 |Amit |30000 |Hyderabad
4 |Archana |15000 |Mumbai
2 |Kalyan |40000 |Vishakhapatnam 
7 |Rahul |39000 |Lucknow
3 |Renuka |50000 |Delhi
6 |Suchatra |33000 |Pune
5 |Trupthi |45000 |Kochin
7 rows selected

Аналогично, следующий запрос упорядочивает содержимое таблицы в порядке убывания на основе оклада сотрудника –

ij> SELECT * FROM Employees ORDER BY Salary DESC;

Это сгенерирует следующий вывод –

ID |NAME |SALARY |LOCATION
---------------------------------------------------------------
3 |Renuka |50000 |Delhi
5 |Trupthi |45000 |Kochin
2 |Kalyan |40000 |Vishakhapatnam
7 |Rahul |39000 |Lucknow
6 |Suchatra |33000 |Pune
1 |Amit |30000 |Hyderabad
4 |Archana |15000 |Mumbai
7 rows selected

Сортировка данных с использованием программы JDBC

В этом разделе вы узнаете, как сортировать содержимое таблицы в Derby с использованием JDBC. Вы можете упорядочить записи по порядку, используя предложение ORDER BY и ключевые слова ASC (обозначение по возрастанию) и DSC (обозначение по убыванию).

Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента – org.apache.derby.jdbc.ClientDriver, а URL-адрес – jdbc: derby: // localhost: 1527 / DATABASE_NAME; создать = true; пользователь = USER_NAME; passw ord = ПАРОЛЬ “.

Выполните шаги, приведенные ниже, чтобы отсортировать записи таблицы в Apache Derby –

Шаг 1: зарегистрировать драйвер

Для связи с базой данных, прежде всего, необходимо зарегистрировать драйвер. Метод forName () класса Class принимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.

Шаг 2: Получить соединение

В общем, первый шаг, который мы делаем для связи с базой данных, это соединение с ней. Класс Connection представляет физическое соединение с сервером базы данных. Вы можете создать объект соединения, вызвав метод getConnection () класса DriverManager . Создайте соединение, используя этот метод.

Шаг 3: Создайте объект выписки

Вам необходимо создать объект Statement или PreparedStatement или CallableStatement для отправки операторов SQL в базу данных. Вы можете создать их, используя методы createStatement (), prepareStatement () и prepareCall () соответственно. Создайте любой из этих объектов, используя соответствующий метод.

Шаг 4: Выполнить запрос

После создания вы должны выполнить его. Класс Statement предоставляет различные методы для выполнения запроса, например, метод execute () для выполнения инструкции, которая возвращает более одного набора результатов. Метод executeUpdate () выполняет запросы, такие как INSERT, UPDATE, DELETE. Метод executeQuery () возвращает данные. Используйте любой из этих методов и выполните оператор, созданный ранее.

пример

Следующий пример JDBC демонстрирует, как сортировать записи таблицы в Apache Derby с помощью программы JDBC. Здесь мы подключаемся к базе данных с именем sampleDB (создадим, если она не существует), используя встроенный драйвер.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SortData {
   public static void main(String args[]) throws SQLException, ClassNotFoundException {
      //Registering the driver
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");

      //Getting the Connection object
      String URL = "jdbc:derby:SampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);

      //Creating the Statement object
      Statement stmt = conn.createStatement();

      //Creating a table and populating it
      String query = "CREATE TABLE Employees("
         + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
         + "Name VARCHAR(255), Salary INT NOT NULL, "
         + "Location VARCHAR(255), "
         + "PRIMARY KEY (Id))";
      String query = "INSERT INTO Employees("
         + "Name, Salary, Location) VALUES "
         + "('Amit', 30000, 'Hyderabad'), "
         + "('Kalyan', 40000, 'Vishakhapatnam'), "
         + "('Renuka', 50000, 'Delhi'), "
         + "('Archana', 15000, 'Mumbai'), "
         + "('Trupthi', 45000, 'Kochin'), "
         + "('Suchatra', 33000, 'Pune'), "
         + "('Rahul', 39000, 'Lucknow'), "
         + "('Trupti', 45000, 'Kochin')";
      //Executing the query
      String query = "SELECT Location, SUM(Salary) " + "from Employees GROUP BY Location";
      ResultSet rs = stmt.executeQuery(query);
      while(rs.next()) {
         System.out.println("Salary: "+rs.getString(1));
         System.out.println("Location: "+rs.getString(2));
         System.out.println(" ");
      }
   }
}

Выход

Выполнив вышеуказанную программу, вы получите следующий вывод: