sql语句中3表删除和3表查询

好久没来咱们博客园了,主要近期在忙一些七七八八的杂事,包括打羽毛球比赛的准备和自己在学jqgrid的迷茫。先不扯这些没用的了,希望大家能记得小弟,小弟在此谢过大家了。

回归正题:(以下的sql是本人在用yii框架开发项目时写的,希望对大家有些帮助)

首先是多表查询,为了简化我先贴出自己的代码,在贴出解释代码。

select a.*, b.*, c.*
from rlzy_payfeeinf a inner join rlzy_personinfo b

on a.bid=b.bid join rlzy_unit c

on a.bid =c.bid

解释:rlzy_payfeeinf,rlzy_personinfo,rlzy_unit  是表名,而a,b,c是别名。a.*表示查询rlzy_payfeeinf中的所有元素。

最后补充一句:其实就是在join on的基础上又加了一个join on而已

其次是多表删除:

delete a,b,c
from rlzy_payfeeinf a
left join rlzy_personinfo b
on a.bid=b.bid left join rlzy_unit c
on a.bid=c.bid
where a.bid=1

DELETE a,b,c
FROM rlzy_payfeeinf a
LEFT join rlzy_personinfo b
ON a.bid=b.bid LEFTjoin rlzy_unit c
ON a.bid=c.bid
WHERE a.bid=1

解释:其实和查询一样,只是中间用了关键字LEFT而已。为了提醒大家写sql语句规范,特意加了大写,给大家照成学习上的麻烦,但是只是为了警示大家编码切记格式,关键字大写

最后:更新我就先不说了,因为没有案例。但是写法和这个差不多

时间: 2024-12-21 09:14:19

sql语句中3表删除和3表查询的相关文章

SQL语句中的表操作

数据库中主要的部分是不同的表,在SQL语句中提供了一些对于表的操作.我们讨论的操作都是在SQL SERVICE中的 一.新建表: 新建表的语法格式为:CREATE TABLE 表名(列名 数据类型[完整性约束条件], 列名 数据类型 [完整性约束条件],...);其中完整性约束条件可以添加也可以不加,如果不加也可以在表定义完成后另外在添加,比如我们现在需要创建一个学生表,可以使用这样的代码来创建: create table student(Sno char(10) PRIMARY KEY, Sn

正则表达式匹配SQL语句中的所有表名

折磨了几个小时,写出匹配SQL语句中的所有表名,备忘记录 1 \*\s+from\s+[\w\[\]]*\.?[\w\[\]]*\.?\[?(\b\w+)\]?[\r\n\s]* 支持各种表达式 SELECT * FROM Config SELECT * FROM [dbo].IMEIUser SELECT * FROM dbo.LotteryLog SELECT * FROM [GreenPrize]SELECT * FROM [dbo].[Config]SELECT * FROM dbo.[

SQL语句中使用 with 递归实现表中数据树状显示

在开发过程中会遇到很多实现树状的功能,之前为了实现数据的树状显示一般都是通过程序里面的递归实现,今天试了一下通过sql语句实现具体如下: 表名:DeptInfo 字段:DeptId(部门编号),DeptName(部门名称),DeptUpId(部门上级ID),DeptPath(部门层级) 从DeptUpId和DeptPath中可看出表数据可能很乱: 为了实现表中数据树状显示,条例清晰具体代码实现如下: with dept as(select DeptId,DeptUpId from DeptInf

SQL语句的添加、删除、修改多种方法

SQL语句的添加.删除.修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加.删除.修改使用db.Execute(Sql)命令执行操作╔----------------╗☆ 数据记录筛选 ☆╚----------------╝注意:单双引号的用法可能有误(没有测式) Sql = "Select Distinct 字段名 From 数据表"Distinct函数,查询数据库存表内不重复的记录 Sql = "Select Count

回顾sql语句中的各种连接

1. 内连接(Inner Join) 内连接是最常见的一种连接,它页被称为普通连接,而E.FCodd最早称之为自然连接. 下面是ANSI SQL-92标准 select * from    t_institution i inner join t_teller t on i.inst_no = t.inst_no where i.inst_no = "5801" 其中inner可以省略. 等价于早期的连接语法 select * from t_institution i, t_telle

SQL语句中DateAdd 函数说明

实践例子: 将借阅表中所有记录的归还日期加15天: 执行前情况: 执行后情况如下: update 借阅 set 归还日期=DateAdd ("D",15,归还日期) [详细讲解:] 返回 返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔. 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: interval 必要.字符串表达式,是所要加上去的时间间隔. number 必要.数值表达式,是要加上的

select 1 from ... sql语句中的1解读

摘自:http://blog.csdn.net/zengcong2013/article/details/48224509 select  1 from ..., sql语句中的1代表什么意思?查出来是个什么结果?         select 1 from table;与select anycol(目的表集合中的任意一行) from table;与select * from table 从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的.select 1 from 中的1是一常

SQL语句中SUM与COUNT的区别

SUM是对符合条件的记录的数值列求和 COUNT 是对查询中符合条件的结果(或记录)的个数 例如: 表fruit id     name    price 1     apple     3.00 2     pear       4.00 select count(price) from fruit; ----执行之后结果为:2  (表示有2条记录) select  sum(price) from fruit;---执行之后结果为:7:00(表示各记录price字段之和为7.00) SQL语句

解析sql语句中left_join、inner_join中的on与where的区别

以下是对在sql语句中left_join.inner_join中的on与where的区别进行了详细的分析介绍,需要的朋友可以参考下 table a(id, type):id     type ----------------------------------1      1         2      1          3      2          table b(id, class):id    class ---------------------------------1  

sql语句中left join、inner join中的on与where的区别

table a(id, type): id type ---------------------------------- 1 1 2 1 3 2 table b(id, class): id class --------------------------------- 1 1 2 2 sql语句1:select a.*, b.* from a left join b on a.id = b.id and a.type = 1; sql语句2:select a.*, b.* from a le