在Oracle中如何使用Join進(jìn)行數(shù)據(jù)統(tǒng)計(jì)

小樊
82
2024-09-10 20:21:23
欄目: 云計(jì)算

在Oracle中,可以使用JOIN語(yǔ)句將多個(gè)表連接起來(lái),并對(duì)結(jié)果集進(jìn)行數(shù)據(jù)統(tǒng)計(jì)

  1. 首先,創(chuàng)建兩個(gè)示例表:employees(員工)和departments(部門)。
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department_id INT
);

CREATE TABLE departments (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);
  1. 向這兩個(gè)表中插入一些示例數(shù)據(jù):
INSERT INTO employees (id, name, department_id) VALUES (1, 'Alice', 101);
INSERT INTO employees (id, name, department_id) VALUES (2, 'Bob', 102);
INSERT INTO employees (id, name, department_id) VALUES (3, 'Charlie', 101);

INSERT INTO departments (id, name) VALUES (101, 'HR');
INSERT INTO departments (id, name) VALUES (102, 'IT');
  1. 使用JOIN語(yǔ)句將employees表和departments表連接起來(lái),并對(duì)結(jié)果集進(jìn)行數(shù)據(jù)統(tǒng)計(jì)。例如,我們可以統(tǒng)計(jì)每個(gè)部門的員工數(shù)量:
SELECT d.name AS department_name, COUNT(e.id) AS employee_count
FROM employees e
JOIN departments d ON e.department_id = d.id
GROUP BY d.name;

這個(gè)查詢將返回以下結(jié)果:

DEPARTMENT_NAME EMPLOYEE_COUNT
--------------- --------------
HR                           2
IT                           1

在這個(gè)示例中,我們使用了INNER JOIN將employees表和departments表連接起來(lái),然后使用GROUP BY子句按部門名稱分組,并使用COUNT函數(shù)統(tǒng)計(jì)每個(gè)部門的員工數(shù)量。你可以根據(jù)需要修改查詢以滿足你的統(tǒng)計(jì)需求。

0