SQL查询语句总结02

连接查询

  • 多表查询:又称表联合查询,即⼀条 sql 语句涉及到的表有多张,数据通过特定的连接进行联合显示.
等值连接
  • 利用⼀张表中某列的值和另⼀张表中某列的值相等的关系,把俩张表连接起来,把多余的数据过滤掉
    用法:
    select *
    from s_dept,s_region
    where s_dept.region_id = s_region.id;
    
  • 表起别名
    为了方便查询的时候对表的使用我们可以给表起别名
    示例:
    select d.*,r.*
    from s_dept d,s_region r
    where d.region_id = r.id;
    
  • 实例应用
    查询员⼯的名字、部⻔编号、部⻔名字
    select emp.last_name,emp.dept_id,dept.name
    from s_emp emp,s_dept dept
    where emp.dept_id = dept.id;
    
    查询Ngao所在部⻔的区域名称
    select region.name
    from s_emp emp,s_dept dept,s_region region
    where emp.dept_id = dept.id 
    and dept.region_id = region.id and emp.last_name ='Ngao';
    
不等值连接
  • 连接两张表,但并非使用等号实现,也可以用非等号例如 > <> 等连接起来

    设数据库中还有⼀张⼯资等级表:s_grade
    gradeName 列表示等级名称
    losal 列表示这个级别的最低⼯资数
    hisal 列表示这个级别的最⾼⼯资数

     查询每个员⼯的⼯资⼯资等级
     select grade.gradeName,emp.last_name
     from s_emp emp,s_grade grade
     where emp.salary >= grade.losal 
     and emp.salary <= grade.hisal;
    
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐