跳到主要内容

select语句

  • SELECT后面支持多种查询写法
    • 表字段
    • 固定值
    • 表达式
    • 函数
sql
SELECT 1;
SELECT 'hello';
SELECT 10 + 20;

SELECT 1理解​

  • SELECT 1 并不是查询
    • 第一条数据
    • id = 1 的数据
    • 名称为 1 的字段
  • 这个1 只是一个固定常量,也可以取任意的常量值
  • SELECT 1 决定每一行显示固定值 1
sql
# 遍历 orders 表,每读取到一条记录,就返回一个固定值 1 (当订单表有3条记录,就返回3条1)
# orders 表中每存在一条记录,查询结果就返回一行固定值 1。
SELECT 1 FROM orders;


# 从 orders 表查询,orders 表有多少行数据,就返回多少行数字 1
# 并将这列数据的列名显示为 a (将查询的结果的列,进行重命名)
SELECT 1 as a FROM orders;

EXISTS 里经常写SELECT 1​

  • EXISTS 只是判断 子查询有没有返回至少一行。
sql
SELECT *
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);