第二十二次博客打卡

今天学习的内容是SQL常见表的查询语句。在这里插入图片描述


1. 基本查询

查询所有列

SELECT * FROM 表名;

查询指定列

SELECT1,2,3 FROM 表名;

去重查询(DISTINCT)

SELECT DISTINCT 列名 FROM 表名;

限制返回行数(LIMIT / TOP / FETCH)

-- MySQL/PostgreSQL/SQLite
SELECT * FROM 表名 LIMIT 10;

-- SQL Server
SELECT TOP 10 * FROM 表名;

-- Oracle (12c+)
SELECT * FROM 表名 FETCH FIRST 10 ROWS ONLY;

2. 条件筛选(WHERE)

基本条件

SELECT * FROM 表名 WHERE 列名 = '值';

比较运算符(=, <>, >, <, >=, <=)

SELECT * FROM 表名 WHERE 列名 > 100;

逻辑运算符(AND, OR, NOT)

SELECT * FROM 表名 WHERE 条件1 AND 条件2;

模糊匹配(LIKE)

-- 以 "张" 开头
SELECT * FROM 表名 WHERE 列名 LIKE '张%';

-- 包含 "abc"
SELECT * FROM 表名 WHERE 列名 LIKE '%abc%';

-- 第二个字符是 "a"
SELECT * FROM 表名 WHERE 列名 LIKE '_a%';

范围查询(IN, BETWEEN)

-- 在某个集合内
SELECT * FROM 表名 WHERE 列名 IN ('值1', '值2', '值3');

-- 在某个范围内
SELECT * FROM 表名 WHERE 列名 BETWEEN 10 AND 20;

空值判断(IS NULL / IS NOT NULL)

SELECT * FROM 表名 WHERE 列名 IS NULL;

3. 排序(ORDER BY)

-- 升序(默认)
SELECT * FROM 表名 ORDER BY 列名 ASC;

-- 降序
SELECT * FROM 表名 ORDER BY 列名 DESC;

-- 多列排序
SELECT * FROM 表名 ORDER BY1 ASC,2 DESC;

4. 子查询

WHERE 子查询

SELECT * FROM 表A 
WHERE 列名 IN (SELECT 列名 FROM 表B WHERE 条件);

FROM 子查询

SELECT * 
FROM (SELECT1,2 FROM 表名 WHERE 条件) AS 子查询表;

EXISTS 子查询

SELECT * FROM 表A 
WHERE EXISTS (SELECT 1 FROM 表B WHERE 表B.= 表A.);

掌握这些查询语句可以适应大多数数据库的查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值