内连接(sql)

 

 

1. 等值连接

等值连接的语法格式为:(sql99语法) 

SELECT columns FROM table1 JOIN table2 ONtable1.column_name=table2.column_name;

其中,JOIN 可以写为 INNER JOIN。下面是一个示例:

SELECT orders.order_id, customers.customer_name, orders.order_date

FROM orders

JOIN customers

ON orders.customer_id = customers.customer_id;

上述语句将 orders 表和 customers 表基于 customer_id 列进行等值连接,返回订单号、客户名称和订单日期。

2. 非等值连接

非等值连接的语法格式为:

SELECT columns FROM table1 JOIN table2 ON table1.column_name > table2.column_name;

下面是一个示例:

SELECT products.product_name, suppliers.supplier_name

FROM products

INNER JOIN suppliers

ON products.supplier_id > suppliers.supplierid;

上述语句将 products 表和 suppliers 表基于 supplier_id 列进行非等值连接,返回产品名称和供应商名称。

3. 自连接(一张表看成两张表)

自连接的语法格式为:

SELECT columns FROM table1 t1 JOIN table1 t2 ON t1.column_name = t2.column_name;

其中,t1 和 t2 为同一张表的别名(起别名可以用as关键字,或者用空格隔开)。下面是一个示例:

SELECT e.employee_name, m.employee_name

FROM employees e

JOIN employees m

ON e.manager_id = m.employee_id;

 

上述语句将 employees 表自连接,基于 manager_id 列进行等值连接,返回员工姓名和经理姓名。

 

 

你可能感兴趣的:(sql,数据库)