diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..86aa780 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + "sqltools.connections": [ + { + "previewLimit": 50, + "server": "localhost", + "port": 5432, + "driver": "PostgreSQL", + "name": "PG", + "database": "postgres", + "username": "postgres", + "password": "postgres" + } + ] +} \ No newline at end of file diff --git a/DB.py b/DB.py new file mode 100644 index 0000000..972d260 --- /dev/null +++ b/DB.py @@ -0,0 +1,51 @@ +import psycopg2 + +conn=psycopg2.connect(host="localhost",dbname="postgres",user="postgres", + password="postgres",port="5432") +cur=conn.cursor() +cur.execute("""create table if not exists employees( + emp_id integer primary key, + first_name varchar(100), + last_name varchar(100), + salary numeric(10,2), + job_title varchar(100), + gender varchar(10), + hire_date date +); +""") + +cur.execute("""create table if not exists departments( + emp_id integer references employees(emp_id), + department_name varchar(100), + dep_id integer );""") +cur.execute("""insert into employees(emp_id, first_name, last_name, salary, job_title, gender, hire_date) + values (17679, 'Robert', 'Gilmore', 110000, 'Operations Director', 'Male', '2018-09-04'), + (26650, 'Elvis', 'Ritter', 86000, 'Sales Manager', 'Male', '2017-11-24'), + (30840, 'David', 'Barrow', 85000, 'Data Scientist', 'Male', '2019-12-02'), + (49714, 'Hugo', 'Forester', 55000, 'IT Support Specialist', 'Male', '2019-11-22'), + (51821, 'Linda', 'Foster', 95000, 'Data Scientist', 'Female', '2019-04-29'), + (67323, 'Lisa', 'Wiener', 75000, 'Business Analyst', 'Female', '2018-08-09'), + (70950, 'Rodney', 'Weaver', 87000, 'Project Manager', 'Male', '2018-12-20'), + (71329, 'Gayle', 'Meyer', 77000, 'HR Manager', 'Female', '2019-06-28'), + (71119, 'John', 'Doe', 60000, 'Admin Assistant', 'Male', '2019-07-15'), + (49823, 'AnyName', 'AnyLast', 70000, 'IT Officer', 'Male', '2019-03-01'), + (76589, 'Jason', 'Christian', 99000, 'Project Manager', 'Male', '2019-01-21'), + (97927, 'Billie', 'Lanning', 67000, 'Web Developer', 'Female', '2018-06-25');""") + +cur.execute(""" +INSERT INTO departments(emp_id, department_name, dep_id) +VALUES + (17679, 'Operations', 13), + (26650, 'Marketing', 14), + (30840, 'Operations', 13), + (49823, 'Technology', 12), + (51821, 'Operations', 13), + (67323, 'Marketing', 14), + (71119, 'Administrative', 11), + (76589, 'Operations', 13), + (97927, 'Technology', 12); +""") + +conn.commit() +cur.close() +conn.close() \ No newline at end of file diff --git a/PG.session.sql b/PG.session.sql new file mode 100644 index 0000000..1341b06 --- /dev/null +++ b/PG.session.sql @@ -0,0 +1,52 @@ +-- Q1 - +select * +from employees +where salary > ( + select salary + from employees + where last_name = 'Weaver' + and first_name = 'Rodney' + ); +--Q2 - +select max(salary) as Max_salary, + min(salary) as Min_salary, + avg(salary) as avg_salary +from employees --Q3- +select first_name, + last_name, + salary +from employees +where salary > 87000; +--Q4- +select first_name, + last_name +from employees e, + departments d +where e.emp_id = d.emp_id + and d.department_name = 'Operations'; +--Q5- +select first_name, + last_name +from employees e, + departments d +where e.emp_id = d.emp_id + and d.department_name = 'Technology'; +--Q6- +select avg(salary) as avg_salary_female +from employees +where gender = 'Female'; +--Q7- +select avg(salary) as avg_salary , department_name from employees e, departments d +where e.emp_id=d.emp_id + +GROUP BY department_name +َ--َ8- +select max(hire_date) as newest_date +, min(hire_date) as oldest_date from employees +--Q9- +select hire_date,department_name from employees e ,departments d +where e.emp_id=d.emp_id and salary=(select max(salary) from employees) + +--Q10- +select hire_date,department_name from employees e ,departments d +where e.emp_id=d.emp_id and salary=(select min(salary) from employees) diff --git a/query.py b/query.py new file mode 100644 index 0000000..e69de29