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

【MySQL】查询语句

文章目录

  • 选择语句 / 子句
  • 比较运算符
  • AND,OR,NOT运算符
  • IN运算符
  • BETWEEN运算符
  • LIKE运算符
  • REGEXP运算符

选择语句 / 子句

  • USE:选择使用的database
  • SELECT:选择查询的列
  • FROM:选择查询的表
  • WHERE:条件查询
  • ORDER BY :排序
-- 关键词:USE, SELECT, FROM,WHERE, ORDER BY
USE sql_store; -- 选择一个databaseSELECT *  -- 选择所有的列
FROM customers -- 从customers这个表中
WHERE customer_id = 1 -- 查询条件:查到id为1的数据
ORDER BY first_name -- 根据firstname排序
-- 注意:SELECT, FROM, WHERE, ORDER BY的顺序是固定的,如果改变语句的顺序,会发生语法错误
-- 关键词:AS
SELECTfirst_name,last_name,points,(points + 10) * 100 AS discount_factor -- AS 可以为列取名字
FROM customers
-- 小小作业
SELECTname,unit_price,unit_price * 1.1 AS 'new price' -- 列名要想用空格的话,需要用单引号引起来,否则不能用空格
FROM products

比较运算符

  • 等于:是= 而不是==
  • 不等:!= 或者 <> ,这两个都表示不等
SELECT *
FROM customers
WHERE state = 'VA' //表示筛选在VA的数据WHERE state <> 'VA' //表示筛选不在VA的数据
-- 注意:字符串需要用单引号引起WHERE birth_date > '1990-01-01'
-- 筛选日期时,也要将日期用单引号引起。
-- MySQL标准或默认日期表述形式:4位年份-2位月份-2位日期
-- 小小练习
SELECT *
FROM orders
WHERE order_date >= '2019-01-01 '

AND,OR,NOT运算符

  • 优先级:AND > OR
SELECT *
FROM customers
WHERE birth_date > '1990-01-01' OR(points > 1000 AND state = 'VA')
-- 小小练习
SELECT *
FROM order_items
WHERE order_id = 6 AND unit_price * quantity > 30

IN运算符

SELECT *
FROM customers
-- 查询多个条件时用OR比较麻烦
WHERE state = 'VA' OR state = 'GA' OR state = 'FL'
-- 此时可以用IN运算符
WHERE state IN ('VA', 'FL', 'GA')
-- 可用NOT IN查询不在IN范围内的
WHERE state NOT IN ('VA', 'FL', 'GA')
-- 小小练习
SELECT *
FROM products
WHERE quantity_in_stock IN (49, 38, 72)

BETWEEN运算符

  • BETWEEN……AND……
SELECT *
FROM customers
-- 积分在1000到3000范围内的数据
WHERE points >= 1000 AND points <= 3000-- 用BETWEEN更加简介
WHERE points BETWEEN 1000 AND 3000-- 小小练习
SELECT *
FROM customers
WHERE birth_date BETWEEN '1990-01-01' AND '2000-01-01'

LIKE运算符

  • % 代表任意字符数
  • _ 代表一个单字符
SELECT *
FROM customers
-- 查询以b或B开头的lastname的数据,表示在b之后可以有任意字符数
WHERE last_name LIKE 'b%'-- 表示在b之前和之后都可有任意字符数
WHERE last_name LIKE '%b%'-- 表示y之前有5个字符
WHERE last_name LIKE '_____y'-- 表示b和y之间有4个字符
WHERE last_name LIKE 'b____y'
-- 小小联系
-- 1
SELECT *
FROM customers
WHERE address LIKE '%trail%' ORaddress LIKE '%avenue%';-- 2
SELECT *
FROM customers
WHERE phone LIKE '%9';

REGEXP运算符

http://www.lryc.cn/news/221027.html

相关文章:

  • 金蝶云星空的网络控制设置
  • linux服务器国内源安装nvm,又快又方便
  • noip模拟赛多校第八场 T3 遥控机器人 (最短路 + 技巧拆点)
  • 高防IP的原理
  • Apache Doris (五十一): Doris数据缓存
  • 一、配置环境
  • 各种 sql 语句
  • CentOS/RHEL7环境下更改网卡名称为CentOS6的传统命名规则
  • 飞书开发学习笔记(三)-利用python开发调试云文档和电子表格
  • 爆火的正规号卡推广分销 流量卡分销代理平台
  • Gin框架入门实战系列教程之Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE
  • 浏览器自动播放音视频-前端实现方案
  • HttpUtils工具类
  • AI:59-基于深度学习的行人重识别
  • TCP编程及基础知识
  • 二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string
  • Python 爬虫基础
  • 亚马逊云科技大语言模型的创新科技
  • Qt 各种数据类型
  • 电动车展示预约小程序的作用如何
  • 「随笔」浅谈2023年云计算的发展趋势
  • 高性能三防工业平板电脑 防摔防爆电容屏工控平板
  • mac flutter pb解析报错:protoc-gen-dart: program not found or is not executable
  • PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?
  • Linux驱动开发——USB设备驱动
  • 微服务使用指南
  • MYSQL运维篇(已完结)
  • MapReduce性能优化之小文件问题和数据倾斜问题解决方案
  • 面向萌新的数学建模入门指南
  • 基于 golang 从零到一实现时间轮算法 (二)