1 / 26

Microsoft SQL Server Básico [4]

Microsoft SQL Server Básico [4]. Usando un join y una subconsulta , seleccionar las editoriales que publican libros de ‘business’. Usando un join y una subconsulta , seleccionar el numero de autores que escribieron libros de ‘business’.

pomona
Download Presentation

Microsoft SQL Server Básico [4]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft SQL Server Básico [4]

  2. Usando un join y unasubconsulta, seleccionarlaseditorialesque publican libros de ‘business’. Usando un join y unasubconsulta, seleccionar el numero de autoresqueescribieronlibros de ‘business’. Obtenerunalista de preciosquemuestre Editorial, Título del libro y Precio.  Mostrartodos los títulospublicadosporAlgodataInfosystems Ejercicios

  3. Primera Pregunta SELECT * FROM Publishers WHERE pub_id IN (SELECT pub_id FROM Titles WHERE type = 'business') SELECT P.pub_id, P.pub_name, P.city, P.state, P.country FROM Publishers P JOIN Titles T ON P.pub_id = T.pub_id WHERE T.type = 'business' Respuestas a los Ejercicios

  4. Segunda Pregunta SELECT COUNT(DISTINCT(A.au_fname)) FROM Authors A JOIN TitleAuthor TA ON A.au_id = TA.au_id JOIN Titles T ON TA.title_id = T.title_id WHERE T.type = 'business‘ SELECT COUNT(*) FROM Authors WHERE au_id IN (SELECT au_id FROM TitleAuthor WHERE title_id IN (SELECT title_id FROM titles WHERE type = 'business')) Respuestas a los Ejercicios

  5. Tercera Pregunta SELECT 'Editorial' = P.pub_name, 'Titulo' = T.title, 'Precio' = T.price FROM Publishers P JOIN Titles T ON P.pub_id = T.pub_id ORDER BY Precio Respuestas a los Ejercicios

  6. Cuarta Pregunta SELECT 'Editorial' = P.pub_name, 'Titulo' = T.title FROM Publishers P JOIN Titles T ON P.pub_id = T.pub_id WHERE P.pub_name = 'Algodata Infosystems' SELECT title FROM Titles WHERE pub_id = (SELECT Pub_id FROM Publishers WHERE pub_name = 'Algodata Infosystems') Respuestas a los Ejercicios

  7. SENTENCIAS DE DEFINICION CREATE ALTER DROP SENTENCIAS DE MANIPULACION INSERT UPDATE DELETE TRUNCATE Objetivos

  8. Como se mencionó al inicio de este apartado del SQL, esté cuenta con módulos DDL, para la definición de datos que nos permite crear o modificar la estructura de las tablas. Las instrucciones para realizar estas operaciones son: CREATE TABLE: Nos permite crear una tabla de datos vacía. ALTER TABLE: Nos permite modificar una tabla de datos creada DROP TABLE: Nos permite eliminar una tabla creada de una Base de Datos. Sentencias de Definición

  9. CREATE TABLE <Nombre de la tabla>    (      Atributo 1: tipo de dato, longitud ,      Atributo 2: tipo de dato, longitud ,      Atributo 3: tipo de dato, longitud ,       ……      ……     Atributo n: tipo de dato, longitud PRYMARY KEY (OPCIONAL) ) CREATE TABLE

  10. Numéricos exactos bigint decimal int numeric smallint money tinyint smallmoney bit Numéricos aproximados float real Fecha y Hora datetime smalldatetime Recapitulando

  11. Caracteres y cadenas char text Varchar Caracteres y cadenas Unicode nchar ntext Nvarchar Cadenas binarias binary image Varbinary Recapitulando

  12. Crear la tabla alumno con los atributos antes descritos, tomando como llave primaria la clave del alumno. CREATE TABLE Alumno ( Clave char ( 8) NOT NULL, Nombre varchar(20), Especialidad char ( 3) , Direccion varchar(30), DireccionNumero int , FechaRegistro datetime , Alta bit , PRIMARY KEY (Clave) ) Los campos pueden definirse como NOT NULL de manera opcional excepto en la llave primaria para lo cual es obligatorio. Además al definir la llave primaria se genera automáticamente un índice con respecto al campo llave; para definir la llave la denotamos dentro de los paréntesis de PRIMARY KEY CREATE TABLE

  13. La sentencia ALTER TABLE nos sirve para modificar una tabla ya existente, ya sea para agregar, eliminar o cambiar la longitud del tipo de dato de una columna ya existente en una tabla. La sintaxis del ALTER TABLE es la siguiente: ALTER TABLE [ Nombre De la Tabla ] ALTER TABLE

  14. Como complemento de la sentencia se debe indicar que acción se quiere realizar, en el caso de que sea una adición de columna la sintaxis es la siguiente: ALTER TABLE [ Nombre de la Tabla ] ADD [ Nombre de la Columna {tipo de dato y longitud }] Ejemplo ALTER TABLE Alumno ADD Telefono varchar(15) ALTER TABLE

  15. Para modificar un tipo de dato ya existente de una tabla se utiliza la misma sentencia ALTER TABLE . La sintaxis para realizar dicho cambio es la siguiente. ALTER TABLE [ Nombre de la tabla ] ALTER COLUMN [Nombre de la columna {nueva longitud}] Ejemplo ALTER TABLE Alumno ALTER COLUMN Telefono varchar(20) ALTER TABLE

  16. Así mismo, el ALTER TABLE nos sirve tambien para eliminar una columna de una tabla ya existente en una Base de datos. La sintaxis para realizar dicho cambio es la siguiente. ALTER TABLE [ Nombre de la Tabla] DROP COLUMN [ Nombre de la columna ] Ejemplo. ALTER TABLE Alumno DROP COLUMN Telefono ALTER TABLE

  17. La sentencia DROP TABLE se utiliza para eliminar una tabla por completo de la Base de Datos. La sintaxis para realizar dicho cambio es la siguiente DROP TABLE [ Nombre de la Tabla ] Ejemplo DROP TABLE Alumno DROP TABLE

  18. Las sentencias de manipulación que veremos son las siguientes INSERT UPDATE DELETE TRUNCATE Estas sentencias nos sirven para poder manipular la información que se encuentra almacenada en las tablas. A continuación veremos de que modo nos ayuda cada una de las sentencias anteriormente descritas a manipular los datos en una tabla SENTENCIAS DE MANIPULACION

  19. El INSERT como su traducción nos permite entender, sirve para llenar una tabla con datos. La estructura del INSERT es la siguiente: INSERT INTO  Nombre de la tabla a la que se le va a insertar el registro    VALUES  (Conjunto de valores del registro ) EJEMPLO: INSERT INTO Alumno VALUES (‘00000001’, ‘Antonio Lopez’, ‘SQL’, ‘Sin rumbo’, 202, ’01-01-2007’, 1) INSERT

  20. Como se pudieron dar cuenta, el insert realiza la inserción del registro en la tabla, tomando en cuenta la llave primaria, la cual hubiera mandado un error en el caso de que ese valor ya existiera dentro de la tabla. Existe la condición en una tabla de no poder insertar valores nulos en ciertos campos como lo son las llaves primarias. Aun que no necesariamente tienen que ser llaves primarias para no poder recibir valores nulos. Realicemos un ejemplo tratando de insertar a la tabla Alumno un registro dentro del cual el campo dirección será nulo. INSERT INTO Alumno VALUES ('00000002', 'Roberto Hernandez', 'SQL', NULL, 202, '01-01-2007', 0) INSERT

  21. Nótese que el SQL envía un error no permitiendo la inserción de NULOS en una tabla. Para poder realizar la inserción de nulos en una tabla es necesario indicarle ya sea en la creación de la tabla o con una alteración de la misma que el campo permite nulos. ALTER TABLE Alumno ALTER COLUMN Direccion varchar(30) NULL De esta forma ya podremos realizar sin ningún problema el insert anterior. INSERT

  22. El INSERT también permite delimitar que campos exclusivos se van a insertar. La sintaxis para realizar esta delimitación es la siguiente: INSERT INTO  [Nombre de la tabla] (Campos a insertar)     VALUES  (Conjunto de valores del registro ) EJEMPLO: INSERT INTO Alumno (Clave, Nombre, Alta) VALUES ('00000003', 'Marine Castañeda', 1) INSERT

  23. La sentencia UPDATE sirve para actualizar un registro ya existente de una tabla. La sintaxis para la sentencia UPDATE es la siguiente: UPDATE [ Nombre de la tabla ]     SET Valores a modificar WHERE (Condición)  OPCIONAL Con la sentencia UPDATE se debe de tener mucho cuidado ya que al no delimitar bien la sentencia se corre el riesgo de realizar el cambio a todos los registros de la tabla como por ejemplo: UPDATE Alumno SET Alta = 1 UPDATE

  24. Para evitar ese tipo de situaciones se delimita el UPDATE con la clausula WHERE siendo como criterio principal la llave primaria de la tabla. Ejemplo UPDATE Alumno SET Direccion = ‘mi casita’, DireccionNumero = 8, Especialidad = ‘DOC’ WHERE Clave = ‘00000003’ UPDATE

  25. La sentencia DELETE se utiliza para borrar registros de una tabla. La sintaxis para utilizar esta sentencia es la siguiente. DELETE FROM [ Nombre de la Tabla ] WHERE [ Condición] Nuevamente como en el caso del UPDATE se debe de tener cuidado ya que al no delimitar con la clausula WHERE se esta indicando al SQL que borre toda la tabla EJEMPLO: DELETE FROM Alumno WHERE Clave = ‘00000002’ DELETE

  26. La sentencia TRUNCATE al igual que DELETE sirve para borrar los registros de una tabla, pero, a diferencia del DELETE la sentencia TRUNCATE no te permite delimitar la instrucción, es decir, la instrucción TRUNCATE borra todos los registros de una tabla. La sintaxis es la siguiente TRUNCATE TABLE [ Nombre de la tabla] La diferencia con el DELETE radica en que al no tener una sentencia delimitante, ejecuta la instrucción de una manera mas rápida ya que no consume tantos recursos del sistema como una instrucción DELETE. TRUNCATE

More Related