SQL Tarea
SQL Tarea
(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
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_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'
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',
INSERT INTO employees VALUES ( 190 , 'Timothy' , 'Gates' , 'TGATES' , '650.505.3876' , '11-JUL-1998' , 'SH_CLERK' , 2900 , 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 ( 194 , 'Samuel' , 'McCain' , 'SMCCAIN' , '650.501.3876' , '01-JUL-1998' , 'SH_CLERK' , 3200 , 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'
INSERT INTO employees VALUES ( 205 , 'Shelley' , 'Higgins' , 'SHIGGINS' , '515.123.8080' , '07-JUN-1994' , 'AC_MGR' , 12000 , NULL , 101 , 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);
, '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);
FROM employees
SELECT * FROM employees WHERE (job_id LIKE '%MAN%') AND (salary > 10000)
--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
---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
----------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
FROM EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL ORDER BY SALARY DESC, COMMISSION_PCT DESC
--------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
------------------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)));
---------------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
--------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'
---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
---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)
--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)
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