Apache Derby - Klausa Dimana

Klausa WHERE digunakan dalam pernyataan SELECT, DELETE atau, UPDATE untuk menentukan baris tempat operasi perlu dilakukan. Biasanya, klausa ini diikuti oleh kondisi atau ekspresi yang mengembalikan nilai Boolean, operasi Select, delete atau, update dilakukan hanya pada baris yang memenuhi kondisi yang diberikan.

ij> SELECT * from table_name WHERE condition;
or,
ij> DELETE from table_name WHERE condition;
or,
ij> UPDATE table_name SET column_name = value WHERE condition;

Klausa WHERE dapat menggunakan operator perbandingan seperti =,! =, <,>, <=, Dan> =, serta operator ANTARA dan LIKE.

Contoh

Mari kita asumsikan kita memiliki tabel bernama Karyawan di database dengan 7 catatan seperti yang ditunjukkan di bawah ini -

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

Pernyataan SQL DELETE berikut mengambil catatan karyawan yang gajinya lebih dari 35000 -

ij> SELECT * FROM Employees WHERE Salary>35000;

Ini akan menghasilkan keluaran berikut -

ID |NAME |SALARY |LOCATION 
---------------------------------------------------
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
5 |Trupthi |45000 |Kochin
7 |Rahul |39000 |Lucknow
4 rows selected

Demikian pula, Anda juga dapat menghapus dan memperbarui catatan menggunakan klausa ini.

Contoh berikut memperbarui lokasi mereka yang gajinya kurang dari 30.000.

ij> UPDATE Employees SET Location = 'Vijayawada' WHERE Salary<35000;
3 rows inserted/updated/deleted

Jika Anda memverifikasi isi tabel, Anda dapat melihat tabel yang diperbarui seperti yang ditunjukkan di bawah ini -

ij> SELECT * FROM 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
7 rows selected

Dimana klausa contoh JDBC

Bagian ini mengajarkan Anda cara menggunakan klausa WHERE dan melakukan operasi CURD pada tabel di database Apache Derby menggunakan aplikasi JDBC.

Jika Anda ingin meminta server jaringan Derby menggunakan klien jaringan, pastikan bahwa server aktif dan berjalan. Nama kelas untuk driver klien Jaringan adalah org.apache.derby.jdbc.ClientDriver dan URL-nya adalah jdbc: derby: // localhost: 1527 /DATABASE_NAME; buat = true; pengguna =USER_NAME;passw ord =PASSWORD".

Ikuti langkah-langkah yang diberikan di bawah ini untuk menggunakan klausa WHERE dan menjalankan operasi CURD di atas meja di Apache Derby

Langkah 1: Daftarkan driver

Untuk berkomunikasi dengan database, pertama-tama, Anda perlu mendaftarkan driver. ItuforName() metode kelas Classmenerima nilai String yang mewakili nama kelas memuatnya ke memori, yang secara otomatis mendaftarkannya. Daftarkan driver menggunakan metode ini

Langkah 2: Dapatkan koneksi

Secara umum, langkah pertama yang kita lakukan untuk berkomunikasi dengan database adalah menghubungkannya. ItuConnectionkelas mewakili koneksi fisik dengan server database. Anda dapat membuat objek koneksi dengan menjalankangetConnection() metode dari DriverManagerkelas. Buat koneksi menggunakan metode ini.

Langkah 3: Buat objek pernyataan

Anda perlu membuat file Statement atau PreparedStatement atau, CallableStatementobjek untuk mengirim pernyataan SQL ke database. Anda dapat membuatnya menggunakan metodecreateStatement(), prepareStatement() and, prepareCall()masing-masing. Buat salah satu dari objek ini menggunakan metode yang sesuai.

Langkah 4: Jalankan kueri

Setelah membuat pernyataan, Anda perlu menjalankannya. ItuStatement kelas menyediakan berbagai metode untuk mengeksekusi kueri seperti execute()metode untuk mengeksekusi pernyataan yang mengembalikan lebih dari satu kumpulan hasil. ItuexecuteUpdate()metode mengeksekusi query seperti INSERT, UPDATE, DELETE. ItuexecuteQuery()hasil metode yang mengembalikan data. Gunakan salah satu dari metode ini dan jalankan pernyataan yang dibuat sebelumnya.

Contoh

Mengikuti contoh JDBC mendemonstrasikan cara menggunakan klausa WHERE dan melakukan operasi CURD pada tabel di Apache Derby menggunakan program JDBC. Di sini, kami menghubungkan ke database bernama sampleDB (akan dibuat jika tidak ada) menggunakan driver tertanam.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class WhereClauseExample {
   public static void main(String args[]) throws Exception {
      //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 * FROM Employees WHERE Salary>35000";
      ResultSet rs = stmt.executeQuery(query);
      while(rs.next()) {
         System.out.println("Id: "+rs.getString("Id"));
         System.out.println("Name: "+rs.getString("Name"));
         System.out.println("Salary: "+rs.getString("Salary"));
         System.out.println("Location: "+rs.getString("Location"));
         System.out.println(" ");
      }
   }
}

Keluaran

Saat menjalankan program di atas, Anda akan mendapatkan output berikut -

Id: 2
Name: Kalyan
Salary: 43000
Location: Chennai

Id: 3
Name: Renuka
Salary: 50000
Location: Delhi

Id: 5
Name: Trupthi
Salary: 45000
Location: Kochin

Id: 7
Name: Rahul
Salary: 39000
Location: Lucknow