100% found this document useful (1 vote)
1K views112 pages

SQL Tarea

The document contains SQL statements to create tables, insert data, and define relationships for an Oracle database schema. It creates tables for regions, countries, locations, departments, jobs, employees, and job history. It then inserts data into these tables and defines primary and foreign keys to link the tables.

Uploaded by

Edwin Batallanos
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
100% found this document useful (1 vote)
1K views112 pages

SQL Tarea

The document contains SQL statements to create tables, insert data, and define relationships for an Oracle database schema. It creates tables for regions, countries, locations, departments, jobs, employees, and job history. It then inserts data into these tables and defines primary and foreign keys to link the tables.

Uploaded by

Edwin Batallanos
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 112

--drop database BD_ORACLE_LABO CREATE DATABASE BD_ORACLE_LABO GO USE BD_ORACLE_LABO GO CREATE TABLE regions ( region_id numeric PRIMARY KEY

(region_id), region_name VARCHAR(25) ); go CREATE TABLE countries ( country_id CHAR (2) PRIMARY KEY (country_id), country_name VARCHAR(40), region_id NUMERIC, FOREIGN KEY (region_id)REFERENCES regions(region_id) ); GO CREATE TABLE locations ( location_id NUMERIC(4)PRIMARY KEY, street_address VARCHAR(40), postal_code VARCHAR(12), city VARCHAR(30), state_province VARCHAR(25), country_id CHAR(2), FOREIGN KEY (country_id)

REFERENCES countries(country_id) ); GO CREATE TABLE departments ( department_id NUMERIC(4)PRIMARY KEY, department_name VARCHAR(30), manager_id NUMERIC(6), location_id NUMERIC(4), FOREIGN KEY (location_id) REFERENCES locations (location_id) ); GO CREATE TABLE jobs ( job_id VARCHAR(10) PRIMARY KEY, job_title VARCHAR(35), min_salary NUMERIC(6), max_salary NUMERIC(6) ); GO CREATE TABLE employees ( employee_id NUMERIC(6) PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(25) NOT NULL, email VARCHAR(25) NOT NULL, phone_number VARCHAR(20), hire_date DATEtime NOT NULL,

job_id VARCHAR(10) NOT NULL, salary NUMERIC(8,2) CHECK (salary > 0), commission_pct NUMERIC(2,2), manager_id NUMERIC(6), department_id NUMERIC(4), FOREIGN KEY (department_id)REFERENCES departments, FOREIGN KEY (job_id) REFERENCES jobs (job_id), FOREIGN KEY (manager_id)REFERENCES employees ); GO

CREATE TABLE job_history ( employee_id NUMERIC(6)NOT NULL, start_date DATEtime NOT NULL, end_date DATEtime NOT NULL , job_id VARCHAR(10)NOT NULL, department_id NUMERIC(4), PRIMARY KEY (employee_id, start_date), FOREIGN KEY (job_id)REFERENCES jobs, FOREIGN KEY (employee_id)REFERENCES employees, FOREIGN KEY (department_id)REFERENCES departments ); GO INSERT INTO regions VALUES (1 , 'Europe'

); INSERT INTO regions VALUES (2 , 'Americas' ); INSERT INTO regions VALUES (3 , 'Asia' ); INSERT INTO regions VALUES (4 , 'Middle East and Africa' );

INSERT INTO countries VALUES ( 'IT' , 'Italy' ,1 ); INSERT INTO countries VALUES ( 'JP' , 'Japan' ,3 ); INSERT INTO countries VALUES ( 'US'

, 'United States of America' ,2 ); INSERT INTO countries VALUES ( 'CA' , 'Canada' ,2 ); INSERT INTO countries VALUES ( 'CN' , 'China' ,3 ); INSERT INTO countries VALUES ( 'IN' , 'India' ,3 ); INSERT INTO countries VALUES ( 'AU' , 'Australia' ,3 ); INSERT INTO countries VALUES ( 'ZW' , 'Zimbabwe'

,4 ); INSERT INTO countries VALUES ( 'SG' , 'Singapore' ,3 ); INSERT INTO countries VALUES ( 'UK' , 'United Kingdom' ,1 ); INSERT INTO countries VALUES ( 'FR' , 'France' ,1 ); INSERT INTO countries VALUES ( 'DE' , 'Germany' ,1 ); INSERT INTO countries VALUES ( 'ZM' , 'Zambia' ,4

); INSERT INTO countries VALUES ( 'EG' , 'Egypt' ,4 ); INSERT INTO countries VALUES ( 'BR' , 'Brazil' ,2 ); INSERT INTO countries VALUES ( 'CH' , 'Switzerland' ,1 ); INSERT INTO countries VALUES ( 'NL' , 'Netherlands' ,1 ); INSERT INTO countries VALUES ( 'MX' , 'Mexico' ,2 );

INSERT INTO countries VALUES ( 'KW' , 'Kuwait' ,4 ); INSERT INTO countries VALUES ( 'IL' , 'Israel' ,4 ); INSERT INTO countries VALUES ( 'DK' , 'Denmark' ,1 ); INSERT INTO countries VALUES ( 'HK' , 'HongKong' ,3 ); INSERT INTO countries VALUES ( 'NG' , 'Nigeria' ,4 ); INSERT INTO countries VALUES

( 'AR' , 'Argentina' ,2 ); INSERT INTO countries VALUES ( 'BE' , 'Belgium' ,1 );

INSERT INTO locations VALUES ( 1000 , '1297 Via Cola di Rie' , '00989' , 'Roma' , NULL , 'IT' ); INSERT INTO locations VALUES ( 1100 , '93091 Calle della Testa' , '10934' , 'Venice' , NULL , 'IT' );

INSERT INTO locations VALUES ( 1200 , '2017 Shinjuku-ku' , '1689' , 'Tokyo' , 'Tokyo Prefecture' , 'JP' ); INSERT INTO locations VALUES ( 1300 , '9450 Kamiya-cho' , '6823' , 'Hiroshima' , NULL , 'JP' ); INSERT INTO locations VALUES ( 1400 , '2014 Jabberwocky Rd' , '26192' , 'Southlake' , 'Texas' , 'US' ); INSERT INTO locations VALUES ( 1500

, '2011 Interiors Blvd' , '99236' , 'South San Francisco' , 'California' , 'US' ); INSERT INTO locations VALUES ( 1600 , '2007 Zagora St' , '50090' , 'South Brunswick' , 'New Jersey' , 'US' ); INSERT INTO locations VALUES ( 1700 , '2004 Charade Rd' , '98199' , 'Seattle' , 'Washington' , 'US' ); INSERT INTO locations VALUES ( 1800 , '147 Spadina Ave' , 'M5V 2L7'

, 'Toronto' , 'Ontario' , 'CA' ); INSERT INTO locations VALUES ( 1900 , '6092 Boxwood St' , 'YSW 9T2' , 'Whitehorse' , 'Yukon' , 'CA' ); INSERT INTO locations VALUES ( 2000 , '40-5-12 Laogianggen' , '190518' , 'Beijing' , NULL , 'CN' ); INSERT INTO locations VALUES ( 2100 , '1298 Vileparle (E)' , '490231' , 'Bombay' , 'Maharashtra'

, 'IN' ); INSERT INTO locations VALUES ( 2200 , '12-98 Victoria Street' , '2901' , 'Sydney' , 'New South Wales' , 'AU' ); INSERT INTO locations VALUES ( 2300 , '198 Clementi North' , '540198' , 'Singapore' , NULL , 'SG' ); INSERT INTO locations VALUES ( 2400 , '8204 Arthur St' , NULL , 'London' , NULL , 'UK' );

INSERT INTO locations VALUES ( 2500 , 'Magdalen Centre, The Oxford Science Park' , 'OX9 9ZB' , 'Oxford' , 'Oxford' , 'UK' ); INSERT INTO locations VALUES ( 2600 , '9702 Chester Road' , '09629850293' , 'Stretford' , 'Manchester' , 'UK' ); INSERT INTO locations VALUES ( 2700 , 'Schwanthalerstr. 7031' , '80925' , 'Munich' , 'Bavaria' , 'DE' ); INSERT INTO locations VALUES ( 2800

, 'Rua Frei Caneca 1360 ' , '01307-002' , 'Sao Paulo' , 'Sao Paulo' , 'BR' ); INSERT INTO locations VALUES ( 2900 , '20 Rue des Corps-Saints' , '1730' , 'Geneva' , 'Geneve' , 'CH' ); INSERT INTO locations VALUES ( 3000 , 'Murtenstrasse 921' , '3095' , 'Bern' , 'BE' , 'CH' ); INSERT INTO locations VALUES ( 3100 , 'Pieter Breughelstraat 837' , '3029SK'

, 'Utrecht' , 'Utrecht' , 'NL' ); INSERT INTO locations VALUES ( 3200 , 'Mariano Escobedo 9991' , '11932' , 'Mexico City' , 'Distrito Federal,' , 'MX' );

INSERT INTO departments VALUES ( 10 , 'Administration' , 200 , 1700 ); INSERT INTO departments VALUES ( 20 , 'Marketing' , 201 , 1800 ); INSERT INTO departments VALUES

( 30 , 'Purchasing' , 114 , 1700 ); INSERT INTO departments VALUES ( 40 , 'Human Resources' , 203 , 2400 ); INSERT INTO departments VALUES ( 50 , 'Shipping' , 121 , 1500 ); INSERT INTO departments VALUES ( 60 , 'IT' , 103 , 1400 ); INSERT INTO departments VALUES ( 70 , 'Public Relations'

, 204 , 2700 ); INSERT INTO departments VALUES ( 80 , 'Sales' , 145 , 2500 ); INSERT INTO departments VALUES ( 90 , 'Executive' , 100 , 1700 ); INSERT INTO departments VALUES ( 100 , 'Finance' , 108 , 1700 ); INSERT INTO departments VALUES ( 110 , 'Accounting' , 205 , 1700

); INSERT INTO departments VALUES ( 120 , 'Treasury' , NULL , 1700 ); INSERT INTO departments VALUES ( 130 , 'Corporate Tax' , NULL , 1700 ); INSERT INTO departments VALUES ( 140 , 'Control And Credit' , NULL , 1700 ); INSERT INTO departments VALUES ( 150 , 'Shareholder Services' , NULL , 1700 ); INSERT INTO departments VALUES

( 160 , 'Benefits' , NULL , 1700 ); INSERT INTO departments VALUES ( 170 , 'Manufacturing' , NULL , 1700 ); INSERT INTO departments VALUES ( 180 , 'Construction' , NULL , 1700 ); INSERT INTO departments VALUES ( 190 , 'Contracting' , NULL , 1700 ); INSERT INTO departments VALUES ( 200 , 'Operations'

, NULL , 1700 ); INSERT INTO departments VALUES ( 210 , 'IT Support' , NULL , 1700 ); INSERT INTO departments VALUES ( 220 , 'NOC' , NULL , 1700 ); INSERT INTO departments VALUES ( 230 , 'IT Helpdesk' , NULL , 1700 ); INSERT INTO departments VALUES ( 240 , 'Government Sales' , NULL , 1700

); INSERT INTO departments VALUES ( 250 , 'Retail Sales' , NULL , 1700 ); INSERT INTO departments VALUES ( 260 , 'Recruiting' , NULL , 1700 ); INSERT INTO departments VALUES ( 270 , 'Payroll' , NULL , 1700 );

INSERT INTO jobs VALUES ( 'AD_PRES' , 'President' , 20000 , 40000 );

INSERT INTO jobs VALUES ( 'AD_VP' , 'Administration Vice President' , 15000 , 30000 ); INSERT INTO jobs VALUES ( 'AD_ASST' , 'Administration Assistant' , 3000 , 6000 ); INSERT INTO jobs VALUES ( 'FI_MGR' , 'Finance Manager' , 8200 , 16000 ); INSERT INTO jobs VALUES ( 'FI_ACCOUNT' , 'Accountant' , 4200 , 9000 ); INSERT INTO jobs VALUES ( 'AC_MGR'

, 'Accounting Manager' , 8200 , 16000 ); INSERT INTO jobs VALUES ( 'AC_ACCOUNT' , 'Public Accountant' , 4200 , 9000 ); INSERT INTO jobs VALUES ( 'SA_MAN' , 'Sales Manager' , 10000 , 20000 ); INSERT INTO jobs VALUES ( 'SA_REP' , 'Sales Representative' , 6000 , 12000 ); INSERT INTO jobs VALUES ( 'PU_MAN' , 'Purchasing Manager' , 8000

, 15000 ); INSERT INTO jobs VALUES ( 'PU_CLERK' , 'Purchasing Clerk' , 2500 , 5500 ); INSERT INTO jobs VALUES ( 'ST_MAN' , 'Stock Manager' , 5500 , 8500 ); INSERT INTO jobs VALUES ( 'ST_CLERK' , 'Stock Clerk' , 2000 , 5000 ); INSERT INTO jobs VALUES ( 'SH_CLERK' , 'Shipping Clerk' , 2500 , 5500 );

INSERT INTO jobs VALUES ( 'IT_PROG' , 'Programmer' , 4000 , 10000 ); INSERT INTO jobs VALUES ( 'MK_MAN' , 'Marketing Manager' , 9000 , 15000 ); INSERT INTO jobs VALUES ( 'MK_REP' , 'Marketing Representative' , 4000 , 9000 ); INSERT INTO jobs VALUES ( 'HR_REP' , 'Human Resources Representative' , 4000 , 9000 ); INSERT INTO jobs VALUES ( 'PR_REP'

, 'Public Relations Representative' , 4500 , 10500 );

INSERT INTO employees VALUES ( 100 , 'Steven' , 'King' , 'SKING' , '515.123.4567' , '17-JUN-1987' , 'AD_PRES' , 24000 , NULL , NULL , 90 ); INSERT INTO employees VALUES ( 101 , 'Neena' , 'Kochhar' , 'NKOCHHAR' , '515.123.4568' , '21-SEP-1989' , 'AD_VP'

, 17000 , NULL , 100 , 90 ); INSERT INTO employees VALUES ( 102 , 'Lex' , 'De Haan' , 'LDEHAAN' , '515.123.4569' , '13-ENE-1993' , 'AD_VP' , 17000 , NULL , 100 , 90 ); INSERT INTO employees VALUES ( 103 , 'Alexander' , 'Hunold' , 'AHUNOLD' , '590.423.4567' , '03-ENE-1990' , 'IT_PROG'

, 9000 , NULL , 102 , 60 ); INSERT INTO employees VALUES ( 104 , 'Bruce' , 'Ernst' , 'BERNST' , '590.423.4568' , '21-MAY-1991' , 'IT_PROG' , 6000 , NULL , 103 , 60 ); INSERT INTO employees VALUES ( 105 , 'David' , 'Austin' , 'DAUSTIN' , '590.423.4569' , '25-JUN-1997' , 'IT_PROG'

, 4800 , NULL , 103 , 60 ); INSERT INTO employees VALUES ( 106 , 'Valli' , 'Pataballa' , 'VPATABAL' , '590.423.4560' , '05-FEB-1998' , 'IT_PROG' , 4800 , NULL , 103 , 60 ); INSERT INTO employees VALUES ( 107 , 'Diana' , 'Lorentz' , 'DLORENTZ' , '590.423.5567' , '07-FEB-1999' , 'IT_PROG'

, 4200 , NULL , 103 , 60 ); INSERT INTO employees VALUES ( 108 , 'Nancy' , 'Greenberg' , 'NGREENBE' , '515.124.4569' , '17-AGO-1994' , 'FI_MGR' , 12000 , NULL , 101 , 100 ); INSERT INTO employees VALUES ( 109 , 'Daniel' , 'Faviet' , 'DFAVIET' , '515.124.4169' , '16-AGO-1994' , 'FI_ACCOUNT'

, 9000 , NULL , 108 , 100 ); INSERT INTO employees VALUES ( 110 , 'John' , 'Chen' , 'JCHEN' , '515.124.4269' , '28-SEP-1997' , 'FI_ACCOUNT' , 8200 , NULL , 108 , 100 ); INSERT INTO employees VALUES ( 111 , 'Ismael' , 'Sciarra' , 'ISCIARRA' , '515.124.4369' , '30-SEP-1997' , 'FI_ACCOUNT'

, 7700 , NULL , 108 , 100 ); INSERT INTO employees VALUES ( 112 , 'Jose Manuel' , 'Urman' , 'JMURMAN' , '515.124.4469' , '07-MAR-1998' , 'FI_ACCOUNT' , 7800 , NULL , 108 , 100 ); INSERT INTO employees VALUES ( 113 , 'Luis' , 'Popp' , 'LPOPP' , '515.124.4567' , '07-DIC-1999' , 'FI_ACCOUNT'

, 6900 , NULL , 108 , 100 ); INSERT INTO employees VALUES ( 114 , 'Den' , 'Raphaely' , 'DRAPHEAL' , '515.127.4561' , '07-DIC-1994' , 'PU_MAN' , 11000 , NULL , 100 , 30 ); INSERT INTO employees VALUES ( 115 , 'Alexander' , 'Khoo' , 'AKHOO' , '515.127.4562' , '18-MAY-1995' , 'PU_CLERK'

, 3100 , NULL , 114 , 30 ); INSERT INTO employees VALUES ( 116 , 'Shelli' , 'Baida' , 'SBAIDA' , '515.127.4563' , '24-DIC-1997' , 'PU_CLERK' , 2900 , NULL , 114 , 30 ); INSERT INTO employees VALUES ( 117 , 'Sigal' , 'Tobias' , 'STOBIAS' , '515.127.4564' , '24-JUL-1997' , 'PU_CLERK'

, 2800 , NULL , 114 , 30 ); INSERT INTO employees VALUES ( 118 , 'Guy' , 'Himuro' , 'GHIMURO' , '515.127.4565' , '15-NOV-1998' , 'PU_CLERK' , 2600 , NULL , 114 , 30 ); INSERT INTO employees VALUES ( 119 , 'Karen' , 'Colmenares' , 'KCOLMENA' , '515.127.4566' , '10-AGO-1999' , 'PU_CLERK'

, 2500 , NULL , 114 , 30 ); INSERT INTO employees VALUES ( 120 , 'Matthew' , 'Weiss' , 'MWEISS' , '650.123.1234' , '18-JUL-1996' , 'ST_MAN' , 8000 , NULL , 100 , 50 ); INSERT INTO employees VALUES ( 121 , 'Adam' , 'Fripp' , 'AFRIPP' , '650.123.2234' , '10-ABR-1997' , 'ST_MAN'

, 8200 , NULL , 100 , 50 ); INSERT INTO employees VALUES ( 122 , 'Payam' , 'Kaufling' , 'PKAUFLIN' , '650.123.3234' , '01-MAY-1995' , 'ST_MAN' , 7900 , NULL , 100 , 50 ); INSERT INTO employees VALUES ( 123 , 'Shanta' , 'Vollman' , 'SVOLLMAN' , '650.123.4234' , '10-OCT-1997' , 'ST_MAN'

, 6500 , NULL , 100 , 50 ); INSERT INTO employees VALUES ( 124 , 'Kevin' , 'Mourgos' , 'KMOURGOS' , '650.123.5234' , '16-NOV-1999' , 'ST_MAN' , 5800 , NULL , 100 , 50 ); INSERT INTO employees VALUES ( 125 , 'Julia' , 'Nayer' , 'JNAYER' , '650.124.1214' , '16-JUL-1997' , 'ST_CLERK'

, 3200 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 126 , 'Irene' , 'Mikkilineni' , 'IMIKKILI' , '650.124.1224' , '28-SEP-1998' , 'ST_CLERK' , 2700 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 127 , 'James' , 'Landry' , 'JLANDRY' , '650.124.1334' , '14-ENE-1999' , 'ST_CLERK'

, 2400 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 128 , 'Steven' , 'Markle' , 'SMARKLE' , '650.124.1434' , '08-MAR-2000' , 'ST_CLERK' , 2200 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 129 , 'Laura' , 'Bissot' , 'LBISSOT' , '650.124.5234' , '20-AGO-1997' , 'ST_CLERK'

, 3300 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 130 , 'Mozhe' , 'Atkinson' , 'MATKINSO' , '650.124.6234' , '30-OCT-1997' , 'ST_CLERK' , 2800 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 131 , 'James' , 'Marlow' , 'JAMRLOW' , '650.124.7234' , '16-FEB-1997' , 'ST_CLERK'

, 2500 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 132 , 'TJ' , 'Olson' , 'TJOLSON' , '650.124.8234' , '10-ABR-1999' , 'ST_CLERK' , 2100 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 133 , 'Jason' , 'Mallin' , 'JMALLIN' , '650.127.1934' , '14-JUN-1996' , 'ST_CLERK'

, 3300 , NULL , 122 , 50 ); INSERT INTO employees VALUES ( 134 , 'Michael' , 'Rogers' , 'MROGERS' , '650.127.1834' , '26-AGO-1998' , 'ST_CLERK' , 2900 , NULL , 122 , 50 ); INSERT INTO employees VALUES ( 135 , 'Ki' , 'Gee' , 'KGEE' , '650.127.1734' , '12-DIC-1999' , 'ST_CLERK'

, 2400 , NULL , 122 , 50 ); INSERT INTO employees VALUES ( 136 , 'Hazel' , 'Philtanker' , 'HPHILTAN' , '650.127.1634' , '06-FEB-2000' , 'ST_CLERK' , 2200 , NULL , 122 , 50 ); INSERT INTO employees VALUES ( 137 , 'Renske' , 'Ladwig' , 'RLADWIG' , '650.121.1234' , '14-JUL-1995' , 'ST_CLERK'

, 3600 , NULL , 123 , 50 ); INSERT INTO employees VALUES ( 138 , 'Stephen' , 'Stiles' , 'SSTILES' , '650.121.2034' , '26-OCT-1997' , 'ST_CLERK' , 3200 , NULL , 123 , 50 ); INSERT INTO employees VALUES ( 139 , 'John' , 'Seo' , 'JSEO' , '650.121.2019' , '12-FEB-1998' , 'ST_CLERK'

, 2700 , NULL , 123 , 50 ); INSERT INTO employees VALUES ( 140 , 'Joshua' , 'Patel' , 'JPATEL' , '650.121.1834' , '06-ABR-1998' , 'ST_CLERK' , 2500 , NULL , 123 , 50 ); INSERT INTO employees VALUES ( 141 , 'Trenna' , 'Rajs' , 'TRAJS' , '650.121.8009' , '17-OCT-1995' , 'ST_CLERK'

, 3500 , NULL , 124 , 50 ); INSERT INTO employees VALUES ( 142 , 'Curtis' , 'Davies' , 'CDAVIES' , '650.121.2994' , '29-ENE-1997' , 'ST_CLERK' , 3100 , NULL , 124 , 50 ); INSERT INTO employees VALUES ( 143 , 'Randall' , 'Matos' , 'RMATOS' , '650.121.2874' , '15-MAR-1998' , 'ST_CLERK'

, 2600 , NULL , 124 , 50 ); INSERT INTO employees VALUES ( 144 , 'Peter' , 'Vargas' , 'PVARGAS' , '650.121.2004' , '09-JUL-1998' , 'ST_CLERK' , 2500 , NULL , 124 , 50 ); INSERT INTO employees VALUES ( 145 , 'John' , 'Russell' , 'JRUSSEL' , '011.44.1344.429268' , '01-OCT-1996' , 'SA_MAN'

, 14000 , .4 , 100 , 80 ); INSERT INTO employees VALUES ( 146 , 'Karen' , 'Partners' , 'KPARTNER' , '011.44.1344.467268' , '05-ENE-1997' , 'SA_MAN' , 13500 , .3 , 100 , 80 ); INSERT INTO employees VALUES ( 147 , 'Alberto' , 'Errazuriz' , 'AERRAZUR' , '011.44.1344.429278' , '10-MAR-1997' , 'SA_MAN'

, 12000 , .3 , 100 , 80 ); INSERT INTO employees VALUES ( 148 , 'Gerald' , 'Cambrault' , 'GCAMBRAU' , '011.44.1344.619268' , '15-OCT-1999' , 'SA_MAN' , 11000 , .3 , 100 , 80 ); INSERT INTO employees VALUES ( 149 , 'Eleni' , 'Zlotkey' , 'EZLOTKEY' , '011.44.1344.429018' , '29-ENE-2000' , 'SA_MAN'

, 10500 , .2 , 100 , 80 ); INSERT INTO employees VALUES ( 150 , 'Peter' , 'Tucker' , 'PTUCKER' , '011.44.1344.129268' , '30-ENE-1997' , 'SA_REP' , 10000 , .3 , 145 , 80 ); INSERT INTO employees VALUES ( 151 , 'David' , 'Bernstein' , 'DBERNSTE' , '011.44.1344.345268' , '24-MAR-1997' , 'SA_REP'

, 9500 , .25 , 145 , 80 ); INSERT INTO employees VALUES ( 152 , 'Peter' , 'Hall' , 'PHALL' , '011.44.1344.478968' , '20-AGO-1997' , 'SA_REP' , 9000 , .25 , 145 , 80 ); INSERT INTO employees VALUES ( 153 , 'Christopher' , 'Olsen' , 'COLSEN' , '011.44.1344.498718' , '30-MAR-1998' , 'SA_REP'

, 8000 , .2 , 145 , 80 ); INSERT INTO employees VALUES ( 154 , 'Nanette' , 'Cambrault' , 'NCAMBRAU' , '011.44.1344.987668' , '09-DIC-1998' , 'SA_REP' , 7500 , .2 , 145 , 80 ); INSERT INTO employees VALUES ( 155 , 'Oliver' , 'Tuvault' , 'OTUVAULT' , '011.44.1344.486508' , '23-NOV-1999' , 'SA_REP'

, 7000 , .15 , 145 , 80 ); INSERT INTO employees VALUES ( 156 , 'Janette' , 'King' , 'JKING' , '011.44.1345.429268' , '30-ENE-1996' , 'SA_REP' , 10000 , .35 , 146 , 80 ); INSERT INTO employees VALUES ( 157 , 'Patrick' , 'Sully' , 'PSULLY' , '011.44.1345.929268' , '04-MAR-1996' , 'SA_REP'

, 9500 , .35 , 146 , 80 ); INSERT INTO employees VALUES ( 158 , 'Allan' , 'McEwen' , 'AMCEWEN' , '011.44.1345.829268' , '01-AGO-1996' , 'SA_REP' , 9000 , .35 , 146 , 80 ); INSERT INTO employees VALUES ( 159 , 'Lindsey' , 'Smith' , 'LSMITH' , '011.44.1345.729268' , '10-MAR-1997' , 'SA_REP'

, 8000 , .3 , 146 , 80 ); INSERT INTO employees VALUES ( 160 , 'Louise' , 'Doran' , 'LDORAN' , '011.44.1345.629268' , '15-DIC-1997' , 'SA_REP' , 7500 , .3 , 146 , 80 ); INSERT INTO employees VALUES ( 161 , 'Sarath' , 'Sewall' , 'SSEWALL' , '011.44.1345.529268' , '03-NOV-1998' , 'SA_REP'

, 7000 , .25 , 146 , 80 ); INSERT INTO employees VALUES ( 162 , 'Clara' , 'Vishney' , 'CVISHNEY' , '011.44.1346.129268' , '11-NOV-1997' , 'SA_REP' , 10500 , .25 , 147 , 80 ); INSERT INTO employees VALUES ( 163 , 'Danielle' , 'Greene' , 'DGREENE' , '011.44.1346.229268' , '19-MAR-1999' , 'SA_REP'

, 9500 , .15 , 147 , 80 ); INSERT INTO employees VALUES ( 164 , 'Mattea' , 'Marvins' , 'MMARVINS' , '011.44.1346.329268' , '24-ENE-2000' , 'SA_REP' , 7200 , .10 , 147 , 80 ); INSERT INTO employees VALUES ( 165 , 'David' , 'Lee' , 'DLEE' , '011.44.1346.529268' , '23-FEB-2000' , 'SA_REP'

, 6800 , .1 , 147 , 80 ); INSERT INTO employees VALUES ( 166 , 'Sundar' , 'Ande' , 'SANDE' , '011.44.1346.629268' , '24-MAR-2000' , 'SA_REP' , 6400 , .10 , 147 , 80 ); INSERT INTO employees VALUES ( 167 , 'Amit' , 'Banda' , 'ABANDA' , '011.44.1346.729268' , '21-ABR-2000' , 'SA_REP'

, 6200 , .10 , 147 , 80 ); INSERT INTO employees VALUES ( 168 , 'Lisa' , 'Ozer' , 'LOZER' , '011.44.1343.929268' , '11-MAR-1997' , 'SA_REP' , 11500 , .25 , 148 , 80 ); INSERT INTO employees VALUES ( 169 , 'Harrison' , 'Bloom' , 'HBLOOM' , '011.44.1343.829268' , '23-MAR-1998' , 'SA_REP'

, 10000 , .20 , 148 , 80 ); INSERT INTO employees VALUES ( 170 , 'Tayler' , 'Fox' , 'TFOX' , '011.44.1343.729268' , '24-ENE-1998' , 'SA_REP' , 9600 , .20 , 148 , 80 ); INSERT INTO employees VALUES ( 171 , 'William' , 'Smith' , 'WSMITH' , '011.44.1343.629268' , '23-FEB-1999' , 'SA_REP'

, 7400 , .15 , 148 , 80 ); INSERT INTO employees VALUES ( 172 , 'Elizabeth' , 'Bates' , 'EBATES' , '011.44.1343.529268' , '24-MAR-1999' , 'SA_REP' , 7300 , .15 , 148 , 80 ); INSERT INTO employees VALUES ( 173 , 'Sundita' , 'Kumar' , 'SKUMAR' , '011.44.1343.329268' , '21-ABR-2000' , 'SA_REP'

, 6100 , .10 , 148 , 80 ); INSERT INTO employees VALUES ( 174 , 'Ellen' , 'Abel' , 'EABEL' , '011.44.1644.429267' , '11-MAY-1996' , 'SA_REP' , 11000 , .30 , 149 , 80 ); INSERT INTO employees VALUES ( 175 , 'Alyssa' , 'Hutton' , 'AHUTTON' , '011.44.1644.429266' , '19-MAR-1997' , 'SA_REP'

, 8800 , .25 , 149 , 80 ); INSERT INTO employees VALUES ( 176 , 'Jonathon' , 'Taylor' , 'JTAYLOR' , '011.44.1644.429265' , '24-MAR-1998' , 'SA_REP' , 8600 , .20 , 149 , 80 ); INSERT INTO employees VALUES ( 177 , 'Jack' , 'Livingston' , 'JLIVINGS' , '011.44.1644.429264' , '23-ABR-1998' , 'SA_REP'

, 8400 , .20 , 149 , 80 ); INSERT INTO employees VALUES ( 178 , 'Kimberely' , 'Grant' , 'KGRANT' , '011.44.1644.429263' , '24-MAY-1999' , 'SA_REP' , 7000 , .15 , 149 , NULL ); INSERT INTO employees VALUES ( 179 , 'Charles' , 'Johnson' , 'CJOHNSON' , '011.44.1644.429262' , '04-ENE-2000' , 'SA_REP'

, 6200 , .10 , 149 , 80 ); INSERT INTO employees VALUES ( 180 , 'Winston' , 'Taylor' , 'WTAYLOR' , '650.507.9876' , '24-ENE-1998' , 'SH_CLERK' , 3200 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 181 , 'Jean' , 'Fleaur' , 'JFLEAUR' , '650.507.9877' , '23-FEB-1998' , 'SH_CLERK'

, 3100 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 182 , 'Martha' , 'Sullivan' , 'MSULLIVA' , '650.507.9878' , '21-JUN-1999' , 'SH_CLERK' , 2500 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 183 , 'Girard' , 'Geoni' , 'GGEONI' , '650.507.9879' , '03-FEB-2000' , 'SH_CLERK'

, 2800 , NULL , 120 , 50 ); INSERT INTO employees VALUES ( 184 , 'Nandita' , 'Sarchand' , 'NSARCHAN' , '650.509.1876' , '27-ENE-1996' , 'SH_CLERK' , 4200 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 185 , 'Alexis' , 'Bull' , 'ABULL' , '650.509.2876' , '20-FEB-1997' , 'SH_CLERK'

, 4100 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 186 , 'Julia' , 'Dellinger' , 'JDELLING' , '650.509.3876' , '24-JUN-1998' , 'SH_CLERK' , 3400 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 187 , 'Anthony' , 'Cabrio' , 'ACABRIO' , '650.509.4876' , '07-FEB-1999' , 'SH_CLERK'

, 3000 , NULL , 121 , 50 ); INSERT INTO employees VALUES ( 188 , 'Kelly', 'Chung', 'KCHUNG', '650.505.1876', '14-JUN-1997', 'SH_CLERK', 3800, NULL, 122, 50 );

INSERT INTO employees VALUES ( 189 , 'Jennifer', 'Dilly', 'JDILLY', '650.505.2876', '13-AGO-1997',

'SH_CLERK', 3600, NULL, 122, 50);

INSERT INTO employees VALUES ( 190 , 'Timothy' , 'Gates' , 'TGATES' , '650.505.3876' , '11-JUL-1998' , 'SH_CLERK' , 2900 , NULL , 122 , 50 );

INSERT INTO employees VALUES ( 191 , 'Randall' , 'Perkins' , 'RPERKINS' , '650.505.4876'

, '19-DIC-1999' , 'SH_CLERK' , 2500 , NULL , 122 , 50 );

INSERT INTO employees VALUES ( 192 , 'Sarah' , 'Bell' , 'SBELL' , '650.501.1876' , '04-FEB-1996' , 'SH_CLERK' , 4000 , NULL , 123 , 50 );

INSERT INTO employees VALUES ( 193 , 'Britney' , 'Everett'

, 'BEVERETT' , '650.501.2876' , '03-MAR-1997' , 'SH_CLERK' , 3900 , NULL , 123 , 50 );

INSERT INTO employees VALUES ( 194 , 'Samuel' , 'McCain' , 'SMCCAIN' , '650.501.3876' , '01-JUL-1998' , 'SH_CLERK' , 3200 , NULL , 123 , 50 );

INSERT INTO employees VALUES ( 195

, 'Vance' , 'Jones' , 'VJONES' , '650.501.4876' , '17-MAR-1999' , 'SH_CLERK' , 2800 , NULL , 123 , 50 );

INSERT INTO employees VALUES ( 196 , 'Alana' , 'Walsh' , 'AWALSH' , '650.507.9811' , '24-ABR-1998' , 'SH_CLERK' , 3100 , NULL , 124 , 50 );

INSERT INTO employees VALUES ( 197 , 'Kevin' , 'Feeney' , 'KFEENEY' , '650.507.9822' , '23-MAY-1998' , 'SH_CLERK' , 3000 , NULL , 124 , 50 );

INSERT INTO employees VALUES ( 198 , 'Donald' , 'OConnell' , 'DOCONNEL' , '650.507.9833' , '21-JUN-1999' , 'SH_CLERK' , 2600 , NULL , 124 , 50

);

INSERT INTO employees VALUES ( 199 , 'Douglas' , 'Grant' , 'DGRANT' , '650.507.9844' , '13-ENE-2000' , 'SH_CLERK' , 2600 , NULL , 124 , 50 ); INSERT INTO employees VALUES ( 200 , 'Jennifer' , 'Whalen' , 'JWHALEN' , '515.123.4444' , '17-SEP-1987' , 'AD_ASST' , 4400 , NULL , 101

, 10 );

INSERT INTO employees VALUES ( 201 , 'Michael' , 'Hartstein' , 'MHARTSTE' , '515.123.5555' , '17-FEB-1996' , 'MK_MAN' , 13000 , NULL , 100 , 20 );

INSERT INTO employees VALUES ( 202 , 'Pat' , 'Fay' , 'PFAY' , '603.123.6666' , '17-AGO-1997' , 'MK_REP' , 6000

, NULL , 201 , 20 );

INSERT INTO employees VALUES ( 203 , 'Susan' , 'Mavris' , 'SMAVRIS' , '515.123.7777' , '07-JUN-1994' , 'HR_REP' , 6500 , NULL , 101 , 40 );

INSERT INTO employees VALUES ( 204 , 'Hermann' , 'Baer' , 'HBAER' , '515.123.8888' , '07-JUN-1994'

, 'PR_REP' , 10000 , NULL , 101 , 70 );

INSERT INTO employees VALUES ( 205 , 'Shelley' , 'Higgins' , 'SHIGGINS' , '515.123.8080' , '07-JUN-1994' , 'AC_MGR' , 12000 , NULL , 101 , 110 );

INSERT INTO employees VALUES ( 206 , 'William' , 'Gietz' , 'WGIETZ'

, '515.123.8181' , '07-JUN-1994' , 'AC_ACCOUNT' , 8300 , NULL , 205 , 110 );

INSERT INTO job_history VALUES (102 , '13-ENE-1993' , '24-JUL-1998' , 'IT_PROG' , 60); INSERT INTO job_history VALUES (101 , '21-SEP-1989' , '27-OCT-1993' , 'AC_ACCOUNT' , 110);

INSERT INTO job_history VALUES (101 , '28-OCT-1993' , '15-MAR-1997'

, 'AC_MGR' , 110); INSERT INTO job_history VALUES (201 , '17-FEB-1996' , '19-DIC-1999' , 'MK_REP' , 20);

INSERT INTO job_history VALUES (114 , '24-MAR-1998' , '31-DIC-1999' , 'ST_CLERK' , 50 ); INSERT INTO job_history VALUES (122 , '01-ENE-1999' , '31-DIC-1999' , 'ST_CLERK' , 50 ); INSERT INTO job_history VALUES (200 , '17-SEP-1987'

, '17-JUN-1993' , 'AD_ASST' , 90 ); INSERT INTO job_history VALUES (176 , '24-MAR-1998' , '31-DIC-1998' , 'SA_REP' , 80 );

INSERT INTO job_history VALUES (176 , '01-ENE-1999' , '31-DIC-1999' , 'SA_MAN' , 80 ); INSERT INTO job_history VALUES (200 , '01-JUL-1994' , '31-DIC-1998' , 'AC_ACCOUNT' , 90 );

CREATE TABLE job_grades (grade_level VARCHAR(3), lowest_sal NUMERIC, highest_sal NUMERIC); INSERT INTO job_grades VALUES ('A', 1000, 2999); INSERT INTO job_grades VALUES ('B', 3000, 5999); INSERT INTO job_grades VALUES('C', 6000, 9999); INSERT INTO job_grades VALUES('D', 10000, 14999); INSERT INTO job_grades VALUES('E', 15000, 24999);

INSERT INTO job_grades VALUES('F', 25000, 40000);

Select first_name, last_name from employees SELECT * FROM employees

SELECT * FROM employees WHERE department_id = 90

SELECT last_name,(salary + 300)AS AUMENTO

FROM employees

SELECT last_name, salary, (salary*12 + 100) AS "COMPENSACIN ANUAL" FROM employees

Select DISTINCT first_name FROM employees

select last_name, (ISNULL(commission_pct,0)*salary ) as Comision FROM employees

select (first_name + ' ' + last_name) as "Nombre Completo" FROM employees

SELECT * FROM employees WHERE salary > 3000

SELECT * FROM employees WHERE (salary between 2500 and 3500)

SELECT * FROM employees WHERE (last_name BETWEEN 'King' and 'Smith')

SELECT * FROM employees WHERE (hire_date BETWEEN '01/01/2000' AND '31/12/2000')

SELECT * FROM employees WHERE (manager_id IN (100, 101, 201))

SELECT * FROM employees WHERE (first_name LIKE 'S%')

SELECT * FROM employees WHERE (last_name LIKE '_O%')

SELECT * FROM employees WHERE commission_pct is null

SELECT * FROM employees WHERE (job_id LIKE '%MAN%') AND (salary > 10000)

SELECT * FROM employees

WHERE (job_id LIKE '%SA%') OR (salary BETWEEN 10000 AND 15000)

--1.- Ecriba una consulta para ver la fecha actual etiquete la columna como date SELECT GETDATE() as date

---2.- Mostrar el numero de empleado , apellido, salario y el salario aumentado en un 15.5% --- expresado como numero entero de cada empleado etiquete la columna como newsalary select Employee_id, last_name, salary,ROUND((15.5/100)* salary + salary,0) as 'New Salary' from employees

---3.- Escriba una consulta que muestre el apellido(con la primera letra en mayuscula y las demas en minusculas) ----y la longitud de los apellidos de los empleados que la letra comience en j,a,m select UPPER(last_name)as 'Apellido', len(last_name) as 'Nro Caracteres' from employees --where last_name <> 'J' AND last_name <> 'A' AND last_name <> 'M' where last_name LIKE('J%') OR last_name LIKE('A%') OR last_name LIKE('M%') --group by last_name

--4.- AVERIGUAR EL TIEMPO QUE LLEVAN CONTRATADOS TODOS LOS EMPLEADOS PARA CADA EMPLEADO MUESTRE EL APELLIDO Y CALCULE EL NUMERO DE SEMANAS ---ENTRE HOY Y LA FECHA QUE SE CONTRATO SELECT last_name, convert(int, (getdate()- hire_date))/7 as 'Numero semanas' from employees

--5.- AVERIGUAR EL TIEMPO QUE LLEVAN CONTRATADOS TODOS LOS EMPLEADOS PARA CADA EMPLEADO MUESTRE EL APELLIDO Y CALCULE EL NUMERO DE MESES ---ENTRE HOY Y LA FECHA QUE SE CONTRATO SELECT last_name, DATEDIFF(MM,hire_date,getdate()) as 'Numero MESES' from employees

--5U.- AVERIGUAR EL TIEMPO QUE LLEVAN CONTRATADOS TODOS LOS EMPLEADOS PARA CADA EMPLEADO MUESTRE EL APELLIDO Y CALCULE EL NUMERO DE DIAS ---ENTRE HOY Y LA FECHA QUE SE CONTRATO SELECT last_name, DATEDIFF(DD,hire_date,getdate()) as 'Numero DIAS' from employees

------CONSULTA PARA VER NUMERO DE DIAS HASTA LA FECHA ACTUAL CON FECHAS DE NACIMIENTO SELECT DATEDIFF(DD, '1982-03-03', getdate())

--- 6.- CALCULAR LA MEDIA DE LOS SALARIOS Y LA SUMA DE LOS SALARIOS DE TODOS LOS EMPLEADOS CUYO ID DE PUESTO(JOB_ID) ES SA_REP SELECT CONVERT (INT,AVG(SALARY)) AS 'PROMEDIO SALARIOS' , CONVERT(INT,SUM(Salary)) as 'SUMA SALARIOS' from employees WHERE job_id ='sa_rep'

----- 7.- MOSTRAR LA FECHA EN QUE HA SIDO CONTRATADO EL EMPLEADO MS NUEMO Y EL MENOS ANTIGUO SELECT MAX(hire_date) AS 'MAS NUEVO', MIN(hire_date) AS 'MAS ANTIGUO' FROM employees

---8.- OBTENER EL NUMERO DE EMPLEADOS DEL DPARTAMENTO 50 SELECT COUNT(employee_id) AS 'NRO EMPLEADOS' FROM employees where department_id = '50'

---- 9.- obtener el numero de empleados que ganas comisiones SELECT COUNT(*) AS 'NRO EMPLEADOS CON COMISION' FROM employees where commission_pct IS NOT NULL

SELECT COUNT(commission_pct) AS 'NRO EMPLEADOS CON COMISION' FROM employees where commission_pct IS NOT NULL

--- 10.- obtener el numero de departamentos dentro dela organizacion tomando como referencia la taba employees select count(department_id) from employees group by department_id

select count(distinct department_id) from employees --group by department_id

---7.- El departamento de recursos humanos necesita un informe de los empleados de toronto, muestre el apellido

----el puesto , el numero de departamento y el nombre de departamento de todos los empleados que trabajn en toronto select e.LAST_NAME, e.JOB_ID, d.DEPARTMENT_ID, d.DEPARTMENT_NAME from EMPLOYEES e join DEPARTMENTS d on e.DEPARTMENT_ID = d.DEPARTMENT_ID join LOCATIONS l on d.LOCATION_ID = l.LOCATION_ID where l.CITY = 'Toronto'

---8.- Escriba una consulta para que el departamento de recursos humanos genere las direcciones. utilice las tablas LOCATIONS, COUNTRES. ---MUESTRE EN LA SALIDA el identificador de ubicacion, el dimicilio calle la ciudad, el estado ---o la provincia y el pais utilize una union nnatural para generar los resultados

select LOCATION_ID, STREET_ADDRESS, CITY, STATE_PROVINCE, COUNTRY_NAME from LOCATIONS Natural join COUNTRIES --------- CORREGIR UTILIZANDO LOS JOIN EL NATURAL JOIN ES OSLO PARAORACLE IGUAL QUE EL USING ---9.- ---------------------------UNIONES INTERNAS----------------------

SELECT d.DEPARTMENT_NAME, e.LAST_NAME FROM EMPLOYEES e INNER JOIN DEPARTMENTS d on e.DEPARTMENT_ID = d.DEPARTMENT_ID ---SELECT *FROM DEPARTMENTS SELECT * FROM EMPLOYEES SELECT d.DEPARTMENT_NAME, e.LAST_NAME FROM EMPLOYEES e RIGHT OUTER JOIN DEPARTMENTS d on e.DEPARTMENT_ID = d.DEPARTMENT_ID --------------------------------------------

SELECT d.DEPARTMENT_NAME, e.LAST_NAME FROM EMPLOYEES e FULL OUTER JOIN DEPARTMENTS d on e.DEPARTMENT_ID = d.DEPARTMENT_ID

------------------PRODUCTO CARTESIANO-----------SELECT * FROM EMPLOYEES e, DEPARTMENTS d WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID ----10.- Crear un informe (EJERCICIO 4 DE LA PRACTICA 5) SELECT e.LAST_NAME, e.EMPLOYEE_ID AS 'EMP#', m.LAST_NAME, m.EMPLOYEE_ID AS 'Mgr#' FROM EMPLOYEES e join EMPLOYEES m on e.MANAGER_ID = m.EMPLOYEE_ID --WHERE LAST_NAME LAST_NAME ----11.- Crear un informe (EJERCICIO 5 DE LA PRACTICA 5) SELECT e.LAST_NAME, e.EMPLOYEE_ID AS 'EMP#', m.LAST_NAME, m.EMPLOYEE_ID AS 'Mgr#' FROM EMPLOYEES e FULL OUTER JOIN EMPLOYEES m on e.MANAGER_ID = m.EMPLOYEE_ID WHERE e.LAST_NAME IS NOT NULL ORDER BY e.EMPLOYEE_ID ------------ OTRA FORMA DE RESOLVER ----------------------------------------------SELECT emp.last_name, emp.employee_id, sup.last_name, sup.employee_id FROM employees emp LEFT OUTER join employees sup on emp.manager_id = sup.manager_id --WHERE emp.manager_id IS NULL ----12.- Crear un informe (EJERCICIO 8 DE LA PRACTICA 5) SELECT e.LAST_NAME, e.HIRE_DATE FROM EMPLOYEES e

WHERE HIRE_DATE > '29-01-1997' -----------OTRA FORMA DE RESOLVER SIN SABER EL HIRE_DATE-------------SELECT e.LAST_NAME, e.HIRE_DATE FROM EMPLOYEES e WHERE HIRE_DATE >(SELECT e.HIRE_DATE FROM EMPLOYEES e WHERE e.last_name = 'DAVIES')

---------OTRA FORMA MAS DE RESOLVERLO-----------------------SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE >(SELECT HIRE_DATE FROM EMPLOYEES WHERE last_name = 'DAVIES') -----------OTRA FORMA DE RESOLVER EL MISMO---------------SELECT E.last_name, E.hire_date FROM employees E JOIN employees D ON D.last_name = 'DAVIES' WHERE E.hire_date > D.hire_date SELECT * FROM employees

---------EJERCICIO 1 DE PRACTICA 6------------------------------------SELECT last_name, hire_date FROM employees where department_id =(select department_id from employees where last_name = 'ABEL')

--------------- EJERCICIO 2 DE PRACTICA 6-------------------SELECT last_name, employee_id FROM employees WHERE salary >(SELECT AVG(salary) FROM employees) ORDER BY salary ASC ----------------------------------------------------------------------MUSESTRA A LOS EMPLEADOS QUE NO SON PROGRAMADORES INFORMATICOS(IT_PROG) Y CUYO SALARIO ES MENOSR QUEE ---- EL DE CUALQUIRER PROGRAMADOR INFORMATICO---------------------------------------------SELECT employee_id, last_name, job_id, salary FROM employees WHERE job_id <> 'IT_PROG' AND salary < any (SELECT salary FROM employees WHERE job_id = 'IT_PROG') --------------- mostrar a los empleados que no son programadoeres informaticos(IT_PROG) y cuyo salarios son menores ----que los de todos los programadores ---------------------------------------SELECT employee_id, last_name, job_id, salary FROM employees WHERE job_id <> 'IT_PROG' AND salary < all (SELECT salary FROM employees WHERE job_id = 'IT_PROG') ----------------- MOSTRAR ALOS EMPLEADOS QUE TIENEN SUBORDINADOS --------------------SELECT last_name AS 'SUPERVISORES' FROM employees

WHERE employee_id IN (SELECT manager_id FROM employees)

-----------------PRACTICA 02------------------------------1.----------------------------select LAST_NAME,SALARY FROM EMPLOYEES WHERE SALARY > '12000'

-------2.----------------------------select LAST_NAME,DEPARTMENT_ID FROM EMPLOYEES WHERE EMPLOYEE_ID = '176'

----------3.-------------------select LAST_NAME,SALARY FROM EMPLOYEES WHERE SALARY NOT BETWEEN 5000 AND 12000

----------4.----------------------SELECT LAST_NAME, JOB_ID, HIRE_DATE FROM EMPLOYEES WHERE LAST_NAME IN('Matos','Taylor') ORDER BY HIRE_DATE DESC

--------5.------------------------select LAST_NAME,DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IN(20, 50) ORDER BY LAST_NAME ASC

-----------6.-----------------------select LAST_NAME AS 'Employee',SALARY AS 'Monthly Salary' FROM EMPLOYEES WHERE DEPARTMENT_ID IN(20, 50) GROUP BY LAST_NAME,SALARY HAVING SALARY BETWEEN 5000 AND 12000

----7.------------------------------------SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE year(HIRE_DATE) = 1994

---------8.------------------SELECT LAST_NAME, JOB_ID FROM EMPLOYEES WHERE MANAGER_ID IS NULL

-------9.--------------------select LAST_NAME, SALARY, COMMISSION_PCT

FROM EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL ORDER BY SALARY DESC, COMMISSION_PCT DESC

--------10.----------select LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE'__a%'

---------11.-----------------------------select LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE'%a%e%'

--------12.----------------------------SELECT LAST_NAME, JOB_ID, SALARY FROM EMPLOYEES WHERE SALARY NOT IN(2500, 3500, 7000) AND JOB_ID IN('SA_REP', 'ST_CLERK')

------------------13.--------------------------select LAST_NAME AS 'Employee',SALARY AS 'Monthly Salary', COMMISSION_PCT FROM EMPLOYEES WHERE DEPARTMENT_ID IN(20, 80) GROUP BY LAST_NAME,SALARY,COMMISSION_PCT HAVING SALARY BETWEEN 5000 AND 12000 AND COMMISSION_PCT = 0.20

--------------------PRACTICA 03---------------------------------------------1.----------------------------------SELECT GETDATE() as date

------------------2.-----------------------------SELECT EMPLOYEE_ID, LAST_NAME, CONVERT(INT, SALARY), CONVERT(INT,SUM(Salary)+ (SALARY * 0.155)) as 'NEW_SALARY' from EMPLOYEES GROUP BY EMPLOYEE_ID, LAST_NAME, SALARY

---------------3.----------------------------------SELECT EMPLOYEE_ID, LAST_NAME, CONVERT(INT, SALARY), CONVERT(INT,SUM(Salary)+ (SALARY * 0.155)) as 'NEW_SALARY', CONVERT(INT,(SUM(Salary)+ (SALARY * 0.155))- (CONVERT(INT, SALARY))) as 'Increase' from EMPLOYEES GROUP BY EMPLOYEE_ID, LAST_NAME, SALARY

--------------------4.------------------------------------------select UPPER(last_name)as 'Apellido', len(last_name) as 'Nro Caracteres' from EMPLOYEES where last_name LIKE('J%') OR last_name LIKE('A%') OR last_name LIKE('M%') update _Nombres set nombreFantasia = CONCAT( Left(ucase(nombreFantasia),1), lcase(Right(nombreFantasia, LENGTH(nombreFantasia)-1)));

--------------5.------------------------------------------------------------SELECT last_name, DATEDIFF(MM,hire_date,getdate()) as 'MONTHS_WORKED'

from EMPLOYEES ORDER BY 'MONTHS_WORKED' ASC

---------------6.-----------------------------------------------------------SELECT LAST_NAME+'Earns'+ CONVERT(VARCHAR,SALARY)+ 'Monthly but wants'+CONVERT(VARCHAR,(SALARY * 3)) AS 'Dream Salaries' FROM EMPLOYEES -------------7.-------------------------------------------------SELECT LPAD(SALARY,15[,15])---- LAST_NAME, SALARY FROM EMPLOYEES LPAD(cad1,n[,cad2]) SELECT right( '00' + cast( SALARY AS varchar(2))) FROM EMPLOYEES -------------8.-----------------------------------------------------------------SELECT LAST_NAME, HIRE_DATE,DATEADD(month, 6, HIRE_DATE) as 'REVIEW'--, DATENAME(dW,HIRE_DATE) as 'REVIEW' FROM EMPLOYEES

----------------------9.-----------------------------------------SELECT LAST_NAME, HIRE_DATE,DATENAME(dw, HIRE_DATE) as 'DAY' FROM EMPLOYEES -----------------10.----------------------------------------SELECT LAST_NAME, CONVERT(VARCHAR(40),(ISNULL(COMMISSION_PCT,'O.40'))) AS 'COMM' FROM EMPLOYEES --SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity' --FROM Sales.SpecialOffer

--update EMPLOYEES --set COMMISSION_PCT = "No" --where COMMISSION_PCT is null -------------11.------------------------------SELECT LPAD(SALARY,15[,15])---- LAST_NAME, SALARY FROM EMPLOYEES LPAD(cad1,n[,cad2]) SELECT LEFT( '*****' + cast( SALARY AS varchar(2))) FROM EMPLOYEES

------------12.-----------------------------------------SELECT MAX(SALARY) AS 'Maximum', MIN(SALARY) AS 'Minimum', SUM(SALARY) AS 'Sum', ROUND(AVG(SALARY),2) AS 'Average' FROM EMPLOYEES

SELECT MAX(SALARY) AS 'Maximum', MIN(SALARY) AS 'Minimum', SUM(SALARY) AS 'Sum', CONVERT(INT,(AVG(SALARY))) AS 'Average' FROM EMPLOYEES

--SELECT * FROM EMPLOYEES

--------EJERCICIOS DEL CUADERNO------------------------------------------------Mostrar el apellido y el salario de todos los empleados cuyo salario no --se encuentre entre 10000 y 15000 dolares------------------select LAST_NAME, SALARY

FROM EMPLOYEES WHERE SALARY NOT BETWEEN 10000 AND 15000 ---MOSTRAR EL APELLIDO, EL SALARIO Y LA COMISION DE TODOS LOS EMPELADOS QUE GANAN COMISIONES select LAST_NAME, SALARY, COMMISSION_PCT FROM EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL ---MOSTRAR EL APELLIDO Y LA FECHA DE CONTRATACION PARA TODOSO LOS EMPLEADOS, ORDENAR EL RESULTADO SEGUN --LA FECHA DE CONTRATCION DESDE EL EMPLEADO MAS NUEVO AL MAS ANTIGUO SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES ORDER BY HIRE_DATE DESC -------ORDENAR POR ALIAS DE COLUMNA---------------SELECT LAST_NAME, HIRE_DATE AS 'FECHA_CONTRATACION' FROM EMPLOYEES ORDER BY 'FECHA_CONTRATACION' DESC --ORDENAR POR VARIAS COLUMNAS------------SELECT LAST_NAME, DEPARTMENT_ID, SALARY FROM EMPLOYEES ORDER BY DEPARTMENT_ID, SALARY DESC ---MOSTRAR EL APELLIDO, SALARIO Y EL RESTO DEL SALARIO QUE SE OBTIENE AL DIVIDIRLO POR 5000 SELECT LAST_NAME, SALARY,(SALARY % 5000) AS 'RESTO DEL SALARIO' FROM EMPLOYEES ---MOSTRAR EL APELLIDO Y EL NUMERO DE SEMANAS DE EMPLEO PARA TODOS LOS EMPLEADOS --DEL DEPARTAMENTO 90-

SELECT LAST_NAME, CONVERT(INT,(GETDATE() - HIRE_DATE))/7 AS 'SEAMANAS DE TRABAJO' FROM EMPLOYEES WHERE DEPARTMENT_ID = 90 ----CONSULTAR EL NUMERO DE PERSONAS CON EL MISMO TRABAJO-----------SELECT JOB_ID,COUNT(*) AS 'NRO_PERSONAS CON EL MISMO EMPLEO' FROM EMPLOYEES GROUP BY JOB_ID ---DETERMINAR EL NUMERO DE SUPERVISORES SIN LISTAR SELECT COUNT(DISTINCT MANAGER_ID) AS 'NRO SUPERVISORES SIN LISTAR' FROM EMPLOYEES -- MOSTRAR EL NUMERO DE DEPARTAMENTO Y EL SALARIO MAXIMO PARA TODOS LOS DEPARTAMENTOS --CUYO SALARIO MAXIMO SE SUPERIOR A 10000 SELECT DEPARTMENT_ID, MAX(SALARY) AS 'MAXIMO SALARIO' FROM EMPLOYEES GROUP BY DEPARTMENT_ID HAVING MAX(SALARY)> 10000 --CREAR UN INFORME PARA MOSTRAR NUMERO DE SUPERVISOR Y EL SALARIO PEOR PAGADO DEL EMPLEADO --DEL SUPERVISOR, EXCLUYA A LOS EMPLEADOS CUYO SUPERVISOR NOSE CONOCE, EXCLUTYA LOS GRUPOS EN LOS QUE --EL SALARIO MINIMO SEA 6000 O MENO, CASIFIQUE LA SALIDA EN ORDN DESENDENTE DE SALARIO

---MOSTRAR EL NOMBRE Y EL APELLIDO Y EL NOMBRE DEL DEPARTAMENTO PARA TODOS LOS EMPLEADOS

SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT_NAME, D.DEPARTMENT_ID FROM EMPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID --MOSTRAR EL NUMERO DE EMPLEADO,,LA CIUDAD, Y EL NOMBRE DEL DPTO AL CUAL PERTENECE UN DETERMINADO EMPLEADO SELECT E.EMPLOYEE_ID, L.CITY, D.DEPARTMENT_NAME FROM EMPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID JOIN LOCATIONS L ON D.LOCATION_ID = L.LOCATION_ID ---QUIENES TIENEN UN SALARIO MAYOR QUE AL DE ABEL SELECT * FROM EMPLOYEES WHERE SALARY >(SELECT SALARY FROM EMPLOYEES WHERE LAST_NAME = 'ABEL') --MOSTRAR LOS ENMPLEADOS CUYOS IDENTIFICADORES DE PUESTO SEAN LOS MISMOS QUE LOS DEL EMPLEADO 141 SELECT * FROM EMPLOYEES WHERE JOB_ID =(SELECT JOB_ID FROM EMPLOYEES WHERE EMPLOYEE_ID = '141') --MOSTRAR A LOS EMPLEADOS CUYOS IDENTIFICADORES DE PUESTO SON IGUALES AL DEL EMPLEADO 141 --Y CUYOS SALARIOS SON MAYORES QUE DEL EMPLEADO 143 SELECT * FROM EMPLOYEES

WHERE JOB_ID =(SELECT JOB_ID FROM EMPLOYEES WHERE EMPLOYEE_ID = '141')AND SALARY > (

SELECT SALARY

FROM EMPLOYEES

WHERE EMPLOYEE_ID = '143') --MOSTRAR EL APELLIDO DEL EMPLEADO, EL IDENNTIFICADOR DE PUESTO Y EL SALARIO DE TODOS LOS --EMPLEADOS CUYO SALARIO SEA IGUAL AL SALARIO MINIMO SELECT LAST_NAME, JOB_ID, SALARY FROM EMPLOYEES WHERE SALARY =(SELECT MIN(SALARY) FROM EMPLOYEES)

---MOSTRAR EL APELLIDO DE TODOS LOS EMPLEADOS QUE TENGAN UNA a COMO UNA e EN SU APELLIDO SELECT LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE '%a%e%'

--MOSTRAR EL APELLIDO, PUESTO DE TRABAJO Y EL SALARIO DE TODOS LOS EMPLEADOS QUE SEAN --SA_REP, ST_CLERK Y CUYO SALARIO SEA DISTINTO DE 2500, 3500 Y 7000 SELECT LAST_NAME, JOB_ID, SALARY FROM EMPLOYEES WHERE JOB_ID IN('SA_REP','ST_CLERK') GROUP BY LAST_NAME, JOB_ID, SALARY HAVING SALARY NOT IN ('2500','3500','7000')

--- MOSTRAR EL APELLIDO LA LONGITUD DEL APELLIDO Y EL NUMERO DE MESES QUE LLEVAN EN LA EMPRESA TODOS LOS EMPLEADOS SELECT LAST_NAME, LEN(LAST_NAME) AS 'LONGITUD APELLIDO',DATEDIFF(MM,HIRE_DATE,GETDATE()) as 'NRO MESES DE TRABAJO' FROM EMPLOYEES

---MOSTRAR LOS SALARIOS MEDIOS POR DEPARTAMENTO Y ORDENAR EL SALARIO DE MAYOR A MENOR SELECT DEPARTMENT_ID, AVG(SALARY) AS 'SALARIO MEDIO POR DPTO' FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY 'SALARIO MEDIO POR DPTO' ASC

---OBTENER LOS SALARIOS MAXIMOS POR DEPARTAMENTO Y MOSTRAR SOLO AQUELLOS DEPARATMENTOS CUYO SALARIO MAXIMO --ES MAYOR A 8500 SELECT DEPARTMENT_ID, MAX(SALARY) AS 'SALARIO MAXIMO'

FROM EMPLOYEES GROUP BY DEPARTMENT_ID HAVING MAX(SALARY) > '8500'

---1.-MOSTRAR A LO EMPLEADOS QUE TIENE SUPERVISOR Y CUYO SUELDO SE ENCUENTRA ENTRE 2500 Y 3500 SELECT LAST_NAME, SALARY FROM EMPLOYEES --SELECT * FROM EMPLOYEES WHERE MANAGER_ID IS NOT NULL GROUP BY LAST_NAME, SALARY HAVING SALARY BETWEEN '2500' AND '3500'

--MOSTRAR A LOS EMPLEADOS POR DEPARTAMENTO, LISTAR LOS DEPARATMENTOS ASCENDENTEMENTE Y LOS EMPLEADOS DESCENDENTEMENTE. SOLO LISTAR --A LOS EMPLEADOS DESCCENSDENTEMENTE. SOLO LISTAR A MLOS EMPLEADOS QUE PERTENECEN A UN DEPARATMENTO

-----------PRACTICA 06-----------------------------------------------4.-El departamento de recursos humaanos necesita un informe que muestre el apellido, --el numero de departamento y el identificador de puesto de todos los empleados cuyos --identificadores de ubicacion de departamento sean 1700 SELECT E.LAST_NAME, E.DEPARTMENT_ID, E.JOB_ID, D.LOCATION_ID FROM EMPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID

WHERE D.LOCATION_ID= '1700'

---5.-cree un informe para recursos humanos que muestre el apellido y el salario de todos -- los empleados que informen a king SELECT e.LAST_NAME, e.SALARY FROM EMPLOYEES e FULL OUTER JOIN EMPLOYEES m on e.MANAGER_ID = m.EMPLOYEE_ID WHERE e.MANAGER_ID= '100'

--6.-Cree un informe para recursos humanos que muestre el numero de departamento, el apellido --y el identificador de puesto de todos los empleados del departamento ejecutivo SELECT E.DEPARTMENT_ID, E.LAST_NAME, E.JOB_ID FROM EMPLOYEES E INNER JOIN DEPARTMENTS M on E.DEPARTMENT_ID = M.DEPARTMENT_ID WHERE M.DEPARTMENT_NAME = 'executive'

---7.-Mostrar el numero de empleado el apellido y el salario de todos los empleados que ganen --mas que el salario medio y que trabajen con algun empleado cuyo apellido contenga una u SELECT EMPLOYEE_ID, LAST_NAME, SALARY FROM EMPLOYEES WHERE LAST_NAME LIKE '%U%' and SALARY >(SELECT AVG(SALARY) FROM EMPLOYEES)

-----------PRACTICA 07-----------------------------------------------1.-El departamento de reCursos humanos necesita una lista de departamentos que no contengan --el identificador de puesto ST_CLERK. Utilicce los operadores Set

SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IS NOT NULL EXCEPT SELECT DEPARTMENT_ID FROM JOB_HISTORY WHERE JOB_ID = 'ST_CLERK'

--2.-El departamento de recursos humanos necesita una lista de paises en o que no haya ningun departamneto --Muestre el identificador de pais y el nombre delos paises. SELECT COUNTRY_ID, COUNTRY_NAME FROM COUNTRIES EXCEPT SELECT C.COUNTRY_ID, C.COUNTRY_NAME FROM COUNTRIES C JOIN LOCATIONS L ON C.COUNTRY_ID = L.COUNTRY_ID WHERE L.LOCATION_ID IN(SELECT LOCATION_ID FROM DEPARTMENTS)

--3.-Genere una lista de puestos para los departamentos 10,50,20 en ese orden. muestre el identificador de --puesto y el de departamento. SELECT JOB_ID,DEPARTMENT_ID FROM EMPLOYEES

INTERSECT SELECT JOB_ID,DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IN ('10') UNION SELECT JOB_ID,DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IN ('50') UNION ALL SELECT JOB_ID,DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID IN ('20')

--4.-Cree un informe que muestre los identificadores de empleado y de puesto de los empleados que actualmente --tengan un cargo igual al que tenian cuando se los contrato inicialmente SELECT EMPLOYEE_ID, JOB_ID FROM EMPLOYEES INTERSECT SELECT EMPLOYEE_ID, JOB_ID FROM JOB_HISTORY ORDER BY EMPLOYEE_ID

--5.-El departamento de recursos humanos necesita un informe con estas especificaciones: --*.-apellido e identificador de departamento de todos los empleados de la tabla employees, --independientemente de si pertenecen o no a un departamento

--*.-identificador y nombre de departamento de todos los departamentos de la tabla departments, --independientemente de si tienen o no empleados trabajando en ellos SELECT E.LAST_NAME, E.DEPARTMENT_ID, D.DEPARTMENT_NAME AS 'TO_CHAR(NULL)' FROM EMPLOYEES E LEFT JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID INTERSECT SELECT E.LAST_NAME, E.DEPARTMENT_ID, D.DEPARTMENT_NAME AS 'TO_CHAR(NULL)' FROM EMPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID

-----------PRACTICA 08-----------------------------------------------1.- 2.-CREAMOS EL PROTOTIPO DE TABBLA PARA UTILIZAR EN TRABAJOS --DROP TABLE MY_EMPLOYEE CREATE TABLE MY_EMPLOYEE (ID NUMERIC(4) PRIMARY KEY NOT NULL, LAST_NAME VARCHAR(25)NULL, FIRST_NAME VARCHAR(25)NULL, USERID VARCHAR(8)NULL, SALARY NUMERIC(9,2) CHECK (salary > 0) ); GO --3.- crear una sentencia isert para agregar la primera fila en la tabla MY_EMPLYEE INSERT INTO MY_EMPLOYEE(ID,LAST_NAME,FIRST_NAME,USERID,SALARY)VALUES(1,'Patel','Ralph','rpatel',895) --4.-Rellena la tabla MY_EMPLOYEE conla segunda fila de datos de forma explicita INSERT INTO MY_EMPLOYEE VALUES(2,'Dancs','Betty','bdancs',860)

--INSERT INTO MY_EMPLOYEE VALUES(5,'Ropeburn','Audrey','aropebur',1550)

--5.-confirme la adicin a la tabla SELECT ID,LAST_NAME,FIRST_NAME,USERID,SALARY FROM MY_EMPLOYEE WHERE ID='2'

--SELECT ID,LAST_NAME,FIRST_NAME,USERID,SALARY --FROM MY_EMPLOYEE --WHERE ID='5'

--CONFIRMACION EN GENERAL SELECT * FROM MY_EMPLOYEE --6.-escriba una sentencia insert en un archivo de comandos dinamico denomimado loademp.sql para cargar --filas en la tabla MY_EMPLOYEE.Concatene la primera letra del primer nombre y los primeros siete caracteres --del apellido para producir el identificador de usuario INSERT INTO MY_EMPLOYEE(ID,LAST_NAME,FIRST_NAME,USERID,SALARY) VALUES (&ID, &LAST_NAME, &FIRST_NAME, &USERID, &SALARY); --7.-rellena la tabla con las dos filas de datos de ejemplo ejecutando la sentencia insert INSERT INTO MY_EMPLOYEE VALUES(3,'Biri','Ben','bbiri',110) INSERT INTO MY_EMPLOYEE VALUES(4,'Newman','Chad','cnewman',750)

--8.-confirme la adicin a la tabla begin transaction

SELECT ID,LAST_NAME,FIRST_NAME,USERID,SALARY FROM MY_EMPLOYEE WHERE ID='3'

SELECT ID,LAST_NAME,FIRST_NAME,USERID,SALARY FROM MY_EMPLOYEE WHERE ID='4' commit transaction --9.- Hacemos permanentes las adiciones de datos begin transaction commit transaction select *from MY_EMPLOYEE

--10.-Cambieel apellido del empleado 3 a Drexler UPDATE MY_EMPLOYEE SET LAST_NAME = 'Drexler' where ID = '3' --11.-Cambie el salario a 1000 dolares a todos los empleados que tengan un salrio inferior a 900 dolares UPDATE MY_EMPLOYEE SET SALARY = '1000' WHERE SALARY < '900' --7.-Rellene la tabla con las filas siguientes de datos

----------------------------------------------------------------------

SELECT * FROM MY_EMPLOYEE SELECT * FROM EMPLOYEES SELECT * FROM DEPARTMENTS SELECT * FROM COUNTRIES SELECT * FROM LOCATIONS

You might also like