A Gentle Introduction to

SQL


Pick an engine:

ACME AccountsgoogleCuentas de la CUMBRE

Details of the database.googleDetalles de la base de datos.

Some items from the database.googleAlgunos artículos de la base de datos.

1a Identify customers 'C001', 'C005' googleIdentifique a clientes ' C001 ', ' C005 '

1b Identify products 'P001', 'P007' googleIdentifique los productos ' P001 ', ' P007 '

Invoices and receiptsgoogleFacturas y recibos

2a View the payments made by customer 'C001' F TypifyMostrar los pagos hechos por el cliente ' C001 '

2b View the shipments made to customer 'C001' by date order F TypifyMostrar los envíos hechos al cliente ' C001 ' por orden de fecha

Preparing accountsgooglePreparación de cuentas

3a Prepare a list of all items purchased by customer 'C001', show the date, the product description, the unit price, the quantity shipped and the total value (quantity * price). googleElabore una lista de todos los artículos comprados por el cliente ' C001 ', demuestre la fecha, la descripción del producto, el precio unitario, la cantidad enviada y el valor total (cantidad * precio).

3b Calculate the total value of all items shipped to customer 'C001' on 23rd July 1998. The SQL standard way to write this date is googleCalcule el valor total de todos los artículos enviados al cliente ' C001 ' el 23 de julio de 1998. La manera estándar del SQL de escribir esta fecha es DATE '1998-07-23'F TypifyDATE '1998-07-23'

3c Prepare a shipping statement for customer 'C001' it should show the date, the legend 'Delivery' and the total value of the products shipped on each day. googleElabore una declaración del envío para el cliente ' C001 ' que debe demostrar la fecha, la leyenda ' entrega ' y el valor total de los productos enviados en cada día.

3d Prepare a receipts statement for customer 'C001' it should show the date, the notes and the amount received. googleElabore una declaración de los recibos para el cliente ' C001 ' que debe demostrar la fecha, las notas y la cantidad recibida.

3e Use the UNION command to prepare a full statement for customer 'C001' - it should be laid out as follows. (Note that the values shown below are not correct.) You may be able to use '' or NULL for blank values - if necessary use 0. googleUtilice el comando de la UNIÓN de elaborar una declaración completa para el cliente ' C001 ' - debe ser presentada como sigue. (nota que los valores demostrados abajo no están correctos.) Usted puede poder utilizar el '' o ANULAR para los valores en blanco - en caso de necesidad uso 0.

  10-JUL-1998 Delivery       100.00
  15-JUL-1998 Cheque                       100.00
  22-JUL-1998 Delivery       210.00
  23-JUL-1998 Delivery        45.00
  23-JUL-1998 Cash                         255.00
 

The following googleEl siguiente VIEWgoogleVISIÓN , accountline has been created (if not create it yourself). It shows one line for each payment or shipment, money out is negative (a debit), money in positive (a credit).google, se ha creado el accountline (si no créelo usted mismo). Demuestra una línea para cada pago o el envío, dinero hacia fuera es negativo (un debe), dinero en el positivo (un crédito).

CREATE VIEW accountline AS
  SELECT shipped.badguy AS badguy, shipped.sdate AS LineDate,
        'Delivery' AS Legend, -[price]*[quantity] AS amount
    FROM product, shipped 
    WHERE product.id = shipped.product
UNION
  SELECT receipt.badguy, receipt.rdate,notes, amount
    FROM receipt
    ORDER BY linedate;
4a Issue the command to see the accountline. googlePublique el comando de ver el accountline.

4b Create a list showing the outstanding balance for each customer. googleCree una lista que demuestra el equilibrio excepcional para cada cliente.

What is wrong with this database.googleCuál es incorrecto con esta base de datos.

  1. There is no mechanism for recording returns. Suggest what action should be taken when faulty goods are returned and money refunded.googleNo hay mecanismo para las vueltas de la grabación. Sugiera lo que debe ser tomada cuando se vuelven las mercancías culpables y dinero ser consolidada la acción.
  2. The price of item P001 is to be increased. What effect will this have on the calculated balance for customers who previously purchased the item? Suggest how the structure of the database should be amended to prevent this problem.googleEl precio del artículo P001 debe ser aumentado. ¿Qué efecto esto tiene en el equilibrio calculado para los clientes que compraron previamente el artículo? Sugiera cómo la estructura de la base de datos se debe enmendar para prevenir este problema.
  3. All goods must be purchased at list price. In practice discounts may be given on an ad-hoc basis. Suggest how such discounts might be recorded.googleTodas las mercancías se deben comprar en el precio de lista. Los descuentos se pueden dar en la práctica sobre una base ad hoc. Sugiera cómo tales descuentos pudieron ser registrados.
  4. As it stands the data will just grow and grow. It may be desirable to have a consolidation routine which removes old records and leaves an outstanding balance for each customer. This is unlikely to be worth doing for technical reasons. You could store hundreds of years worth of data for a small company at only a marginal cost of processing time or disk space.googlePues está parado los datos apenas crecerán y crecerán. Puede ser deseable tener una rutina de la consolidación que quite viejos expedientes y deje un equilibrio excepcional para cada cliente. Esto es poco probable de valer el hacer por razones técnicas. Usted podría almacenar centenares de valor de los años de los datos para una compañía pequeña en solamente un coste marginal de tiempo de transformación o de espacio de disco.

Tutorial Six: Edinburgh BusesgoogleClase particular Seises: Autobúses De Edimburgo concerns self joins and includes some ridiculously complex SQL queriesgoogleel uno mismo de las preocupaciones ensambla e incluye algunas preguntas ridículo complejas del SQL