MySQL还允许使用INNER JOIN语句中的子句DELETE删除表中的行和另一个表中的匹配行。
例如,要删除两行T1,并T2满足指定条件表,使用下面的语句:
DELETE T1, T2
FROM T1
INNER JOIN T2 ON T1.key = T2.key
WHERE condition;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (
id INT PRIMARY KEY AUTO_INCREMENT
CREATE TABLE t2 (
id VARCHAR(20) PRIMARY KEY,
ref INT NOT NULL
INSERT INTO t1 VALUES (1),(2),(3);
INSERT INTO t2(id,ref) VALUES('A',1),('B',2),('C',3);
以下语句删除t1表中id为1的行,并使用DELETE…INNER JOIN语句删除在t2表中ref = 1的行 :
DELETE t1,t2 FROM t1
INNER JOIN
t2 ON t2.ref = t1.id
WHERE
t1.id = 1;
我们经常使用SELECT语句中的 LEFT JOIN子句来查找左表中的行,这些行在右表中有或没有匹配的行。
我们还可以使用DELETE语句中的LEFT JOIN子句删除表(左表)中的行,这些行在另一个表(右表)中没有匹配的行。
以下语法说明如何使用DELETE语句中 LEFT JOIN子句从T1表中删除T2表中没有相应行的行:
DELETE T1
FROM T1
LEFT JOIN
T2 ON T1.key = T2.key
WHERE
T2.key IS NULL;
WHERE t1.c2 = t2.c2;
from 关键字后面指定另一张表,where指定关联条件。对于t1表中每一行,update语句检查表t2,如果t1.c2 与 t2.c2 相等,则更新t1.c1为新的值。
Sqlserver update、delete使用inner join,关联多少行,就会update、delete关键字后面的表的多少行
Nested Loops joins
Merge joins
Hash jo
select ,,,,from,,,order by,,,limit 5;表示前五个数据
select ,,,,from,,,order by,,,limit 0,5;也是前五个数据
select ,,,,from,,,order by,,,limit 1,...
普通的单表更新或删除sql大家肯定滚瓜烂熟,但你有用过连表更新或删除的sql吗, 这个在表间关联来做更新和删除操作非常有用. 本文分表介绍了如何用update ,delete做联表操作的方法, php程序员站 先看mysql update对于联表更新的说明----------------------------------------------------您也可以执行包括多个表的UPDATE操作...
一.基本概念关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 –建表user1,user2:
table1 : create table user2(id int, user_name varchar(10), over varchar(10));
insert into user1 values(1, ‘tangseng’, ‘dt
(1)所有查询中的列数和列的顺序必须相同。
(2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。
(3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列。
(4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。
(5)不能...
普通的单表更新或删除sql大家肯定滚瓜烂熟,但你有用过连表更新或删除的sql吗, 这个在表间关联来做更新和删除操作非常有用. 本文分表介绍了如何用update ,delete做联表操作的方法, php程序员站 先看mysql update对于联表更新的说明----------------------------------------------------您也可以执行包括多个表的UPDATE操作...
一、join
在多表关联查询场景中,join是常用的方式。join,汉译为“连接”。连接分为内连接(inner join)和外连接(out join)。外连接分为左外连接和右外连接和全外连接,它们由分别简称为“左连接(left join)”、“右连接(right join)”和“全连接(full join)”。当只使用关键字“join”时,等同于内连接(inner join)。
0.准备数据
-- 1.学生表:学号,姓名,性别,年龄
-- 1)建表:
create table t_student(p