Apache Derby - Maddeye Göre Sırala
ORDER BY deyimi, anahtar sözcükleri kullandığı sırayla sonuç kümesinin içeriğini düzenlemek için kullanılır; ASC artan sırayı temsil eder ve DESC azalan sırayı temsil eder. Bunların hiçbirinden bahsetmezseniz, içerik varsayılan olarak artan sırada düzenlenecektir.
Sözdizimi
ORDER BY cümlesinin sözdizimi aşağıdadır -
SELECT * FROM table_name ORDER BY column_name ASC|DESC.
Misal
Veritabanında aşağıdaki kayıtlara sahip Çalışanlar adlı bir tablomuz olduğunu varsayalım -
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
Aşağıdaki sorgu, Çalışanın adına göre tablonun içeriğini artan sırada düzenler.
ij> SELECT * FROM Employees ORDER BY Name;
Bu, aşağıdaki çıktıyı üretecektir -
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
Benzer şekilde, aşağıdaki sorgu, Tablonun içeriğini Çalışanın maaşına göre azalan sırada düzenler -
ij> SELECT * FROM Employees ORDER BY Salary DESC;
Bu, aşağıdaki çıktıyı üretecektir -
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 programını kullanarak Verileri Sıralama
Bu bölüm, JDBC kullanarak Derby'de bir tablonun içeriğini nasıl sıralayacağınızı öğretir. ORDER BY yan tümcesini ve ASC (artan sırayı belirtir) ve DSC (azalan sırayı gösteren) anahtar sözcüklerini kullanarak kayıtları sırayla düzenleyebilirsiniz.
Ağ istemcisini kullanarak Derby ağ sunucusunu talep etmek istiyorsanız, sunucunun çalışır durumda olduğundan emin olun. Ağ istemci sürücüsünün sınıf adı org.apache.derby.jdbc.ClientDriver ve URL jdbc: derby: // localhost: 1527 / şeklindedir.DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD".
Apache Derby'de bir tablonun kayıtlarını sıralamak için aşağıdaki adımları izleyin -
Adım 1: Sürücüyü kaydedin
Veritabanı ile iletişim kurmak için öncelikle sürücüyü kaydetmeniz gerekir. forName() sınıfın yöntemi Classbir sınıf adını temsil eden bir String değerini kabul eder, onu otomatik olarak kaydeden belleğe yükler. Bu yöntemi kullanarak sürücüyü kaydedin.
2. Adım: Bağlantıyı alın
Genel olarak, veri tabanıyla iletişim kurmak için yaptığımız ilk adım, onunla bağlantı kurmaktır. Connectionclass, bir veritabanı sunucusuyla fiziksel bağlantıyı temsil eder. Çağırarak bir bağlantı nesnesi oluşturabilirsiniz. getConnection() yöntemi DriverManagersınıf. Bu yöntemi kullanarak bir bağlantı oluşturun.Adım 3: Bir ifade nesnesi oluşturun
Bir yaratmanız gerekiyor Statement veya PreparedStatement veya, CallableStatementveritabanına SQL ifadeleri göndermek için nesneler. Yöntemleri kullanarak bunları oluşturabilirsinizcreateStatement(), prepareStatement() and, prepareCall()sırasıyla. Uygun yöntemi kullanarak bu nesnelerden birini oluşturun.
4. Adım: Sorguyu yürütün
Bir ifade oluşturduktan sonra, onu yürütmeniz gerekir. Statement sınıfı, bir sorguyu yürütmek için çeşitli yöntemler sağlar. execute()Birden fazla sonuç kümesi döndüren bir ifadeyi yürütme yöntemi. executeUpdate()yöntem INSERT, UPDATE, DELETE gibi sorguları yürütür. executeQuery()yöntem veri döndürür. Bu yöntemlerden birini kullanın ve önceden oluşturulan ifadeyi çalıştırın.
Misal
Aşağıdaki JDBC örneği, JDBC programı kullanılarak Apache Derby'de bir tablonun kayıtlarının nasıl sıralanacağını göstermektedir. Burada, gömülü sürücüyü kullanarak sampleDB (yoksa yaratacaktır) adlı bir veritabanına bağlanıyoruz.
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(" ");
}
}
}
Çıktı
Yukarıdaki programı çalıştırırken aşağıdaki çıktıyı alacaksınız -
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