SELECT * FROM employees;
SELECT first_name, last_name, salary
FROM employees
WHERE department_id = 10 AND salary > 5000;
SELECT employee_id, last_name, hire_date
FROM employees
ORDER BY hire_date DESC;
INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id)
VALUES (207, 'John', 'Doe', 'JDOE', SYSDATE, 'IT_PROG');
UPDATE employees
SET salary = salary * 1.1
WHERE department_id = 20;
DELETE FROM employees
WHERE employee_id = 207;
CREATE TABLE departments (
department_id NUMBER(4) PRIMARY KEY,
department_name VARCHAR2(30) NOT NULL,
manager_id NUMBER(6),
location_id NUMBER(4)
);
ALTER TABLE employees
ADD (middle_name VARCHAR2(25));
DROP TABLE employees_backup;
SELECT e.last_name, e.salary, d.department_name
FROM employees e JOIN departments d
ON e.department_id = d.department_id;
SELECT department_id, COUNT(*), AVG(salary)
FROM employees
GROUP BY department_id;
SELECT last_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
DECLARE
v_emp_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_emp_count
FROM employees
WHERE department_id = 10;
DBMS_OUTPUT.PUT_LINE('Department 10 has ' || v_emp_count || ' employees');
IF v_emp_count > 5 THEN
DBMS_OUTPUT.PUT_LINE('This department is well staffed');
ELSE
DBMS_OUTPUT.PUT_LINE('Consider hiring more staff');
END IF;
END;
/
SELECT UPPER(last_name), LENGTH(first_name), SUBSTR(phone_number, 1, 3)
FROM employees;
SELECT last_name, hire_date, MONTHS_BETWEEN(SYSDATE, hire_date) AS months_employed
FROM employees;
SELECT ROUND(salary, -2), TRUNC(salary, -2), MOD(salary, 1000)
FROM employees;
需要针对特定场景的Oracle SQL语句或有任何具体问题,请随时告诉我。