【软件测试基础知识】Mysql子查询和连接查询(上)

发布 : 软件测试培训      来源:软件测试培训问答

2020-09-22 20:31:54

1、SQL语言

SQL,英文全称:Structured Query Language,是可以对数据进行操作和定义等多种功能的语言。语言的特点,具有交互性,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。

2、数据库分类

现在企业常用的数据库分为两大类:

关系型数据库:Mysql、Oracle、DB2、SQLite、Teradata等。

非关系型数据库:Redis、MongoDB、Splunk、Hbase等。

【软件测试基础知识】Mysql子查询和连接查询(上)

3、子查询和连接查询

子查询和连接查询都涉及两个表或多个表,属于多表查询中的方式语句。

子查询是在一个子表查询的结果的基础上进行目的查询的,并且在子查询中会遍历整个子表。

连接查询是通过找到两个或多个表的连接点,通常是表中的共同的列实现连接查询的。查询效率更高,但是不易掌握。

通常认为,连接查询比子查询更快。但是,连接查询对SQL语句的书写要求也更高,而子查询更容易理解,也更容易编写。

4、Mysql子查询

在Mysql数据库中查询语句的结构:

SELECT 查询内容 FROM 查询范围 WHERE 查询条件 GROUP BY 分组条件 HAVING 查询条件 LIMIT 限制条件;

在Mysql中的查询条件中可以添加的子查询的位置:

FROM

WHERE

HAVING

LIMIT等

实例1:

题目1:查询“yezhi”的成绩。

mysql> SELECT score FROM grades WHERE name='yezhi';

题目2:查询比“yezhi”的分数高的学生的信息。

mysql> SELECT * FROM grades WHERE score > (SELECT score from grades WHERE name='yezhi');

实例2:

题目1:查询科目名称是:math或IT的学生id。

mysql> SELECT stu_id FROM courses WHERE course IN (math,IT);

题目2:查询科目id在题目1的学生的信息。

mysql> SELECT * FROM grades WHERE stu_id IN (SELECT DISTINCT stu_id FROM courses WHERE course IN (math,IT));

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部