当前位置: 首页 > ds >正文

【7】SQL 语句基础应用

SQL 语句基础应用

  • where (筛选)
    • where 子句可使用到运算符
      • 查询表中所有的数据
      • 查询表中的数据,必须满足 1=1(相当于恒成立)
      • 查询表中的 分数(score) 大于 80 分的学生
      • 查询表中 名称(name) 是 赵六 的数据
      • 查询表中 名称(name) 不等于 哈哈 的数据.
      • 查询表中 分数(score) 小于等于 60分 的学生数据
  • 逻辑运算符
    • 查询
      • 查询满足 id 大于 3 并且 分数 大于等于 80 分的学生信息
      • 查询满足 id 大于 3 或者 分数大于等于 80 分的学生信息
      • 查询名称(name) 不是 哈哈 的学生信息

where (筛选)

在 MySQL 数据表中可以使用 SQL select 语句来读取数据。如果需要有条件的从表中获取数据,可将 where 子句添加到 select 语句中。
语法如下:

SELECT[ALL | DISTINCT | DISTINCTROW ][HIGH_PRIORITY][STRAIGHT_JOIN][SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT][SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]select_expr [, select_expr] ...[into_option][FROM table_references[PARTITION partition_list]][WHERE where_condition][GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]][HAVING where_condition][WINDOW window_name AS (window_spec)[, window_name AS (window_spec)] ...][ORDER BY {col_name | expr | position}[ASC | DESC], ... [WITH ROLLUP]][LIMIT {[offset,] row_count | row_count OFFSET offset}][into_option][FOR {UPDATE | SHARE}[OF tbl_name [, tbl_name] ...][NOWAIT | SKIP LOCKED]| LOCK IN SHARE MODE][into_option]into_option: {INTO OUTFILE 'file_name'[CHARACTER SET charset_name]export_options| INTO DUMPFILE 'file_name'| INTO var_name [, var_name] ...
}SELECT is used to retrieve rows selected from one or more tables, and
can include UNION operations and subqueries. Beginning with MySQL
8.0.31, INTERSECT and EXCEPT operations are also supported. The UNION,
INTERSECT, and EXCEPT operators are described in more detail later in
this section. See also
https://dev.mysql.com/doc/refman/8.0/en/subqueries.html.A SELECT statement can start with a WITH clause to define common table
expressions accessible within the SELECT. See
https://dev.mysql.com/doc/refman/8.0/en/with.html.The most commonly used clauses of SELECT statements are these:o Each select_expr indicates a column that you want to retrieve. Theremust be at least one select_expr.o table_references indicates the table or tables from which to retrieverows. Its syntax is described in [HELP JOIN].o SELECT supports explicit partition selection using the PARTITIONclause with a list of partitions or subpartitions (or both) followingthe name of the table in a table_reference (see [HELP JOIN]). In thiscase, rows are selected only from the partitions listed, and anyother partitions of the table are ignored. For more information andexamples, seehttps://dev.mysql.com/doc/refman/8.0/en/partitioning-selection.html.o The WHERE clause, if given, indicates the condition or conditionsthat rows must satisfy to be selected. where_condition is anexpression that evaluates to true for each row to be selected. Thestatement selects all rows if there is no WHERE clause.In the WHERE expression, you can use any of the functions andoperators that MySQL supports, except for aggregate (group)functions. Seehttps://dev.mysql.com/doc/refman/8.0/en/expressions.html, andhttps://dev.mysql.com/doc/refman/8.0/en/functions.html.SELECT can also be used to retrieve rows computed without reference to
any table.URL: https://dev.mysql.com/doc/refman/8.0/en/select.html

where 子句可使用到运算符

在这里插入图片描述
初始化表数据

[root@localhost][db_test]> create table tb_student(-> id int not null auto_increment primary key,-> name varchar(20),-> score int-> );
Query OK, 0 rows affected (0.00 sec)[root@localhost][db_test]> 
[root@localhost][db_test]> insert into tb_student(name, score) values('张三', 95);
Query OK, 1 row affected (0.00 sec)[root@localhost][db_test]> insert into tb_student(name, score) values('李四', 90);
Query OK, 1 row affected (0.00 sec)[root@localhost][db_test]> insert into tb_student(name, score) values('王五', 85);
Query OK, 1 row affected (0.00 sec)[root@localhost][db_test]> insert into tb_student(name, score) values('赵六', 80);
Query OK, 1 row affected (0.01 sec)[root@localhost][db_test]> insert into tb_student(name, score) values('哈哈', 50);
Query OK, 1 row affected (0.00 sec)[root@localhost][db_test]> 

查询表中所有的数据

[root@localhost][db_test]> select * from tb_student;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
|  5 | 哈哈   |    50 |
+----+--------+-------+
5 rows in set (0.00 sec)[root@localhost][db_test]> 

查询表中的数据,必须满足 1=1(相当于恒成立)

[root@localhost][db_test]> select * from tb_student where 1 = 1;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
|  5 | 哈哈   |    50 |
+----+--------+-------+
5 rows in set (0.00 sec)[root@localhost][db_test]> 

查询表中的 分数(score) 大于 80 分的学生

[root@localhost][db_test]> select * from tb_student where score > 80;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
+----+--------+-------+
3 rows in set (0.00 sec)[root@localhost][db_test]> 

查询表中 名称(name) 是 赵六 的数据

[root@localhost][db_test]> select * from tb_student where name = '赵六';
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  4 | 赵六   |    80 |
+----+--------+-------+
1 row in set (0.00 sec)[root@localhost][db_test]> 

查询表中 名称(name) 不等于 哈哈 的数据.

[root@localhost][db_test]> select * from tb_student where name != '哈哈';
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
+----+--------+-------+
4 rows in set (0.00 sec)[root@localhost][db_test]> 

查询表中 分数(score) 小于等于 60分 的学生数据

[root@localhost][db_test]> select * from tb_student where score <= 60;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  5 | 哈哈   |    50 |
+----+--------+-------+
1 row in set (0.00 sec)[root@localhost][db_test]> 

逻辑运算符

在这里插入图片描述

查询

查询满足 id 大于 3 并且 分数 大于等于 80 分的学生信息

[root@localhost][db_test]> select * from tb_student where id > 3 and score >= 80;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  4 | 赵六   |    80 |
+----+--------+-------+
1 row in set (0.00 sec)[root@localhost][db_test]> 

查询满足 id 大于 3 或者 分数大于等于 80 分的学生信息

[root@localhost][db_test]> select * from tb_student where id > 3 or score >= 80;
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
|  5 | 哈哈   |    50 |
+----+--------+-------+
5 rows in set (0.00 sec)[root@localhost][db_test]> 

查询名称(name) 不是 哈哈 的学生信息

[root@localhost][db_test]> select * from tb_student where not name = '哈哈';
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
+----+--------+-------+
4 rows in set (0.00 sec)[root@localhost][db_test]> 

上述查询SQL,等同于 如下:

[root@localhost][db_test]> select * from tb_student where name <> '哈哈';
+----+--------+-------+
| id | name   | score |
+----+--------+-------+
|  1 | 张三   |    95 |
|  2 | 李四   |    90 |
|  3 | 王五   |    85 |
|  4 | 赵六   |    80 |
+----+--------+-------+
4 rows in set (0.00 sec)[root@localhost][db_test]> 
http://www.xdnf.cn/news/19024.html

相关文章:

  • 运算符(2)
  • AT_abc401_f [ABC401F] Add One Edge 3
  • 传统联邦 VS 联邦+大模型
  • 学习做动画4.回转运动
  • springboot实现合同生成
  • C++ SNIFE
  • JVM之【运行时数据区】
  • Nginx访问限制学习笔记
  • 论文学习日志——忆阻器与神经网络——part1
  • 基于XiaothinkT6语言模型的文本相似度计算:轻量方案实现文本匹配与去重
  • AT_abc403_f [ABC403F] Shortest One Formula
  • 阿里云docker搭建的mysql无法访问
  • Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略
  • GRPO算法:告别PPO内存炸弹,无需价值函数,用组内排名代替绝对评分
  • NUMA架构
  • Java大厂面试全解析:从Spring Boot到微服务架构实战
  • 矩阵初等变换的几何含义
  • 【LeetCode】动态规划——542.01 矩阵
  • 系统设计(数据库/微服务)
  • 计算机网络的发展演进历程
  • 2 梯度下降算法
  • 英伟达 Spectrum-XGS:重构 AI 基础设施,开启跨域超级工厂时代
  • 氯化钕:以稀土之力引领科技创新
  • Spring AI 入门指南:三步将AI集成到Spring Boot应用
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术剖析
  • MySQL 面试题系列(四)
  • Mysql——日志
  • 力扣hot100:搜索旋转排序数组和寻找旋转排序数组中的最小值(33,153)
  • TikTok广告投放革命:指纹云手机如何实现智能群控与降本增效
  • Mac中修改Word的Normal.dotm文件