Apache Derby - Порядок по пунктам

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

Синтаксис

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

SELECT * FROM table_name ORDER BY column_name ASC|DESC.

пример

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

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;create = true; пользователь =USER_NAME;пароль =PASSWORD".

Следуйте инструкциям ниже, чтобы отсортировать записи таблицы в Apache Derby -

Шаг 1. Зарегистрируйте драйвер

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

Шаг 2. Установите соединение

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

Шаг 3. Создайте объект утверждения

Вам нужно создать Statement или PreparedStatement или, CallableStatementобъекты для отправки операторов SQL в базу данных. Вы можете создать их, используя методыcreateStatement(), prepareStatement() and, 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(" ");
      }
   }
}

Выход

При выполнении вышеуказанной программы вы получите следующий результат -

Salary: Chennai
Location: 43000

Salary: Delhi
Location: 50000

Salary: Hyderabad
Location: 30000

Salary: Kochin
Location: 45000

Salary: Lucknow
Location: 39000

Salary: Mumbai
Location: 15000

Salary: Pune
Location: 33000