基本 SQL 语句
1. 查询数据
SELECT 语句用于从数据库表中检索数据。基本语法如下:
SELECT column1, column2, ...
FROM table_name;
示例:
SELECT first_name, last_name
FROM employees;
此语句从 employees
表中检索 first_name
和 last_name
列的数据。
2. 插入数据
INSERT INTO 语句用于向表中插入数据。基本语法如下:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
示例:
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (101, 'John', 'Doe', SYSDATE);
此语句将一条新记录插入到 employees
表中。
3. 更新数据
UPDATE 语句用于更新表中的现有记录。基本语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
示例:
UPDATE employees
SET salary = 60000
WHERE employee_id = 101;
此语句将 employee_id
为 101 的员工的薪资更新为 60,000。
4. 删除数据
DELETE FROM 语句用于删除表中的记录。基本语法如下:
DELETE FROM table_name
WHERE condition;
示例:
DELETE FROM employees
WHERE employee_id = 101;
此语句删除 employee_id
为 101 的员工记录。
高级 SQL 语句
1. 使用联接查询数据
JOIN 语句用于从多个表中检索相关数据。基本语法如下:
SELECT column1, column2, ...
FROM table1
JOIN table2
ON table1.common_column = table2.common_column;
示例:
SELECT employees.first_name, departments.department_name
FROM employees
JOIN departments
ON employees.department_id = departments.department_id;
此语句联接 employees
和 departments
表,以检索员工的名字和对应部门的名称。
2. 使用子查询
子查询 是嵌套在另一个 SQL 语句中的查询。基本语法如下:
SELECT column1, column2, ...
FROM table_name
WHERE column1 IN (SELECT column1 FROM another_table WHERE condition);
示例:
SELECT first_name, last_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
此语句从 employees
表中检索在纽约办公室工作的员工。
3. 使用聚合函数
聚合函数 用于对数据进行汇总。常见的聚合函数包括 COUNT
、SUM
、AVG
、MAX
和 MIN
。
示例:
SELECT department_id, COUNT(*) AS num_employees
FROM employees
GROUP BY department_id;
此语句计算每个部门的员工数量。
4. 使用视图
视图 是一个虚拟表,可以简化复杂的查询。基本语法如下:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
示例:
CREATE VIEW high_salary_employees AS
SELECT first_name, last_name, salary
FROM employees
WHERE数据查询 salary > 50000;
此语句创建一个名为 high_salary_employees
的视图,显示所有薪资超过 50,000 的员工。
结论
通过掌握基本和高级 SQL 语句,你可以高效地与 Oracle 数据库交互,执行数据检索、插入、更新和删除操作。此外,利用联接查询、子查询和视图可以进一步提高数据处理的灵活性和复杂性。