Apache Derby - Cláusula Where

La cláusula WHERE se utiliza en las sentencias SELECT, DELETE o UPDATE para especificar las filas en las que se debe realizar la operación. Por lo general, esta cláusula va seguida de una condición o expresión que devuelve un valor booleano, las operaciones Seleccionar, eliminar o actualizar se realizan solo en las filas que cumplen la condición dada.

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;

La cláusula WHERE puede utilizar los operadores de comparación como =,! =, <,>, <= Y> =, así como los operadores BETWEEN y LIKE.

Ejemplo

Supongamos que tenemos una tabla llamada Empleados en la base de datos con 7 registros como se muestra a continuación:

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

La siguiente instrucción SQL DELETE obtiene los registros de los empleados cuyo salario es más de 35000 -

ij> SELECT * FROM Employees WHERE Salary>35000;

Esto producirá el siguiente resultado:

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

Del mismo modo, también puede eliminar y actualizar registros utilizando esta cláusula.

El siguiente ejemplo actualiza la ubicación de aquellos cuyo salario es inferior a 30000.

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

Si verifica el contenido de la tabla, puede ver la tabla actualizada como se muestra a continuación:

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

Ejemplo de cláusula WHERE JDBC

Esta sección le enseña cómo usar la cláusula WHERE y realizar operaciones CURD en una tabla en la base de datos Apache Derby usando la aplicación JDBC.

Si desea solicitar el servidor de red Derby mediante un cliente de red, asegúrese de que el servidor esté en funcionamiento. El nombre de clase del controlador del cliente de red es org.apache.derby.jdbc.ClientDriver y la URL es jdbc: derby: // localhost: 1527 /DATABASE_NAME; crear = verdadero; usuario =USER_NAME;passw ord =PASSWORD".

Siga los pasos que se indican a continuación para usar la cláusula WHERE y realizar operaciones CURD en una tabla en Apache Derby

Paso 1: registre el controlador

Para comunicarse con la base de datos, en primer lugar, debe registrar el controlador. losforName() método de la clase Classacepta un valor de cadena que representa un nombre de clase, lo carga en la memoria, que lo registra automáticamente. Registre el controlador usando este método

Paso 2: obtén la conexión

En general, el primer paso que hacemos para comunicarnos con la base de datos es conectarnos con ella. losConnectionclase representa la conexión física con un servidor de base de datos. Puede crear un objeto de conexión invocando elgetConnection() método del DriverManagerclase. Cree una conexión con este método.

Paso 3: crea un objeto de declaración

Necesitas crear un Statement o PreparedStatement o, CallableStatementobjetos para enviar sentencias SQL a la base de datos. Puedes crearlos usando los métodoscreateStatement(), prepareStatement() and, prepareCall()respectivamente. Cree cualquiera de estos objetos utilizando el método apropiado.

Paso 4: ejecutar la consulta

Después de crear una declaración, debe ejecutarla. losStatement La clase proporciona varios métodos para ejecutar una consulta como la execute()método para ejecutar una declaración que devuelve más de un conjunto de resultados. losexecuteUpdate()El método ejecuta consultas como INSERT, UPDATE, DELETE. losexecuteQuery()resultados del método que devuelve datos. Utilice cualquiera de estos métodos y ejecute la instrucción creada anteriormente.

Ejemplo

El siguiente ejemplo de JDBC demuestra cómo usar la cláusula WHERE y realizar operaciones CURD en una tabla en Apache Derby usando el programa JDBC. Aquí, nos estamos conectando a una base de datos llamada sampleDB (se creará si no existe) usando el controlador integrado.

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(" ");
      }
   }
}

Salida

Al ejecutar el programa anterior, obtendrá el siguiente resultado:

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