Ejercicios Prácticos de PHP y Consultas SQL Avanzadas
Operaciones Matemáticas y Procesamiento en PHP
Suma, resta, división y multiplicación mediante formularios y archivos externos:
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
if (isset($_POST['Sumar'])) {
$suma = include('suma.php');
}
if (isset($_POST['Restar'])) {
$resta = include('resta.php');
}
if (isset($_POST['Producto'])) {
$producto = include('producto.php');
}
if (isset($_POST['Cociente'])) {
$cociente = include('division.php');
}
?>Suma
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
echo ($numero1 + $numero2);
?>Resta
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
echo $numero1 - $numero2;
?>Multiplicación
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
echo $numero1 * $numero2;
?>División
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
echo ($numero1 / $numero2);
?>Consultas SQL y Relaciones de Tablas
Consulta Básica
Definir una consulta SQL que muestre los atributos: nombre y apellido de la tabla empleado (employee).
SELECT employee.fname, employee.lname;
FROM Employee;Consulta con Múltiples Tablas (JOIN)
Consulta SQL para mostrar el cliente y el identificador del empleado que le vendió el producto, con la respectiva orden de venta, e indicar las filas de dato que da como resultado la consulta SQL.
SELECT Order.OrderID, OrderId.Employeename, Customer.CustomerName;
FROM Order
INNER JOIN Employee ON Order.employedID = Employee.EmployedID
INNER JOIN Customer ON Employee.CustomerID = Customer.CustomerID;Consulta con Filtros de Fecha y País
Consulta para mostrar el país México y la fecha de orden menor o igual a 1996-09-18, e indique las filas de datos que da como resultado la consulta SQL.
SELECT Order.Orderdate, Customer.Country;
FROM Order
INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID
WHERE Country = 'México' AND Orderdate <= '1996-09-18';Modelo de Tablas Relacionadas
Agregar una tabla al modelo y relacionarla con la tabla que desea, y presentar el modelo en tablas relacionadas, realizar la consulta SQL que muestre 3 llaves primarias y foráneas de cada tabla, el número de orden, e indicar las filas de datos que da como resultado.
SELECT empresa.empresaId, Order.OrderId, Customer.CustomerID
FROM empresa
INNER JOIN Order ON empresa.orderId = order.orderid
INNER JOIN customer ON order.customerid = customer.customerid;Instrucciones y Sentencias SQL Comunes
Selección con Inner Join
La siguiente instrucción SQL selecciona todas las órdenes con información del cliente:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;La siguiente instrucción SQL selecciona todas las órdenes con información del cliente y del remitente (3 tablas):
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID;Filtros con AND, OR y NOT
La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país es "Alemania" Y la ciudad es "Berlín":
SELECT Customers.Country, Customers.City
FROM Customers
WHERE Country = 'Germany' AND City = 'Berlin';La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde la ciudad es "Berlín" O "München":
SELECT Customers.City
FROM Customers
WHERE City = 'Berlin' OR City = 'München';La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país NO es "Alemania" (o el país que te pida):
SELECT Customers.Country
FROM Customers
WHERE NOT Country = 'Germany';La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país es "Alemania" Y la ciudad debe ser "Berlín" O "München" (use paréntesis para formar expresiones complejas):
SELECT Customers.Country, Customers.City
FROM Customers
WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'München');La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país NO es "Alemania" y NO "EE. UU.":
SELECT Customers.Country
FROM Customers
WHERE NOT Country = 'Germany' AND NOT Country = 'USA';Ordenamiento con ORDER BY
La siguiente instrucción SQL selecciona todos los clientes de la tabla "Clientes", ordenados por la columna "País":
SELECT * FROM Customers
ORDER BY Country;La siguiente instrucción SQL selecciona todos los clientes de la tabla "Clientes", ordenados DESCENDIENDO por la columna "País":
SELECT * FROM Customers
ORDER BY Country DESC;La siguiente declaración SQL selecciona todos los clientes de la tabla "Clientes", ordenados por la columna "País" y "Nombre del cliente":
SELECT * FROM Customers
ORDER BY Country, CustomerName;La siguiente instrucción SQL selecciona todos los clientes de la tabla "Clientes", ordenados ascendentemente por "País" y descendiendo por la columna "NombreCliente":
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;Patrones de Búsqueda con LIKE
La siguiente instrucción SQL selecciona a todos los clientes con un CustomerName que comienza con "a":
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';La siguiente declaración SQL selecciona a todos los clientes con un CustomerName que termina con "a":
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';La siguiente instrucción SQL selecciona a todos los clientes con un CustomerName que tienen "o" en cualquier posición:
SELECT * FROM Customers
WHERE CustomerName LIKE '%o%';La siguiente instrucción SQL selecciona a todos los clientes con un CustomerName que NO comienza con "a":
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';La siguiente instrucción SQL selecciona todos los clientes con un ContactName que comienza con "a" y termina con "o":
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';Filtros por Rangos con BETWEEN
La siguiente instrucción SQL selecciona todas las órdenes con un OrderDate BETWEEN '04-Julio-1996' y '09-Julio-1996':
SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;