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