多变查询

    xiaoxiao2021-12-14  15

    一.使用select语句进行多表查询

    SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件

    二.使用表的别名进行多表查询

    第一种是通过关键字AS指定,如 SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id 第二种是在表名后直接加表的别名实现 SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065  a,tb_demo065_tel  b WHERE a.id=b.id 

    三.合并多个结果集

    UNION:利用该关键字可以将多个SELECT 语句的查询结果合并输出,并删除重复行 ALL:利用该关键字可以将多个SELECT 语句的查询结果合并输出,但不会删除重复行

    四.简单的嵌套

    子查询:子查询是一个SELECT查询,返回单个值且嵌套在SELECT、INSERT、UPDATE和DELETE语句或其它查询语句中,任何可以使用表达式的地方都可以使用子查询. SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')

    五.使用外连接使用多表查询

    1)LEFT OUTER JOIN表示表之间通过左连接方式相互连接,也可简写成LEFT JOIN,它是以左侧的表为基准故称左连接,左侧表中所有信息将被全部输出,而右侧表信息则只会输出符合条件的信息,对不符合条件的信息则返回NULL e.x:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A LEFT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id (2)RIGHT OUTER JOIN表示表之间通过右连接方式相互连接,也可简写成RIGHT JOIN,它是以右侧的表为基准故称右连接,右侧表中所有信息将被全部输出,而左侧表信息则只会输出符合条件的信息,对不符合条件的信息则返回NULL E.X:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A RIGHT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id

    六.利用Having语句过滤分组数据

    HAVING子句用于指定组或聚合的搜索条件,HAVING通常与GROUP BY 语句一起使用,如果SQL语句中不含GROUP BY子句,则HAVING的行为与WHERE子句一样. e.x:SELECT name,math FROM tb_demo083 GROUP BY id HAVING math > '95'

    七.使用子查询关联数据

    SELECT * FROM tb_demo072_student WHERE id=(SELECT id FROM tb_demo072_class WHERE className = '$_POST[text]')

    八.嵌套查询

    实现多表查询时,可以同时使用谓词ANY、SOME、ALL,这些谓词被称为定量比较谓词,可以和比较运算符联合使用,判断是否全部返回值都满足搜索条件.SOME和ANY谓词是存在量的,只注重是否有返回值满足搜索条件,这两个谓词的含义相同,可以替换使用;ALL谓词称为通用谓词,它只关心是否有谓词满足搜索要求. SELECT * FROM tb_demo069_people WHERE uid IN(SELECT deptID FROM tb_demo069_dept WHERE deptName='$_POST[select]') SELECT a.id,a.name FROM tb_demo067 AS a WHERE id<3) >ANY 大于子查询中的某个值  >=ANY 大于等于子查询中的某个值   <=ANY 小于等于子查询中的某个值  =ANY 等于子查询中的某个值   !=ANY或<>ANY 不等于子查询中的某个值   >ALL 大于子查询中的所有值   >=ALL 大于等于子查询中的所有值  <=ALL 小于等于子查询中的所有值  =ALL 等于子查询中的所有值  !=ALL或<>ALL 不等于子查询中的所有值
    转载请注明原文地址: https://ju.6miu.com/read-965407.html

    最新回复(0)