MySQL 第三章3.1 数据库查询(select)

MySQL 第三章3.1 数据库查询(select)

    select语句可以从一个或多个表中选取符合某种条件的特定行和列,结果通常是生产一个临时表,下面介绍select语句,select语句是SQL的核心

select
[all | distinct | distinct row]   在多表连接时去掉重复排列
列名
from 表名
where 条件
group by {列名 | 表达式 | position}
having 条件     # 作用同where 只是条件是聚类时使用      
order by  {列名 | 表达式 | position}   

3.1.1 选择输出列

select语句中需要指定查询的列

(1) 选择指定列

select 姓名,专业名,总学分
from xs;

(2) 选择指定列并定义列别名

select 学号 as number,姓名 as name,专业名,总学分 as mark
from xs;

注意:

  • 自定义的列别名中有空格时,必须用引号将列别名括号起来
select 学号 as 'student number',姓名 as' student name',专业名,总学分 as mark
from xs;
  • 不允许在where子句中使用列别名,因为这个select未完成还没定义出列别名构成的表,where语句只能检测from子句中出现的表的信息。
select 学号 as number,姓名 as name,专业名,总学分 as mark
from xs;
where number = 0 ;   #出现错误

(3) 替换查询结果中的数据
利用case替换表达式,可以使select得到的临时表中的行内容与from原表不同(修改列名称用列别名)

case
when 条件1 then 表达式1
when 条件2 then 表达式2
...
else 表达式n
end as 列别名  #这里的列别名是相当于将from表中包含条件1,,,的列重新定义名称

例如查询xs表中计算机专业各个同学的学号、姓名和总学分,并对总学分按照如下规则进行替换:
若总学分为空值,则替换为‘尚未选课’
若总学分小于50,则替换为‘不及格’
若总学分在50~52之间,则替换为‘合格’
若总学分大于52,则替换为‘优秀’
若总学分列的标题更改为‘等级’。

select 学号,姓名,
case
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库中,SELECT是用于从一个或多个表中检索数据的关键字。SELECT查询表达式的基本语法如下: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` 其中,column1、column2等为要检索的列名,可以使用通配符*代替所有列。table_name为要检索的表名,condition为可选的筛选条件。 在SELECT查询表达式中,可以使用多种表达式来生成结果集。以下是一些常用的SELECT表达式: 1. 聚合函数:用于对结果集进行统计计算,例如SUM、COUNT、AVG、MAX、MIN等。 ```sql SELECT SUM(column_name) FROM table_name; ``` 2. 别名:用于为查询结果中的列或表指定别名,以便更好的阅读和理解查询结果。 ```sql SELECT column_name AS alias_name FROM table_name; ``` 3. 子查询:嵌套在SELECT语句中的查询语句,用于从子查询中获取数据,然后在主查询中使用它。 ```sql SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM table_name WHERE condition); ``` 4. 连接:用于将两个或多个表中的数据合并到一个结果集中,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等。 ```sql SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; ``` 5. 字符串函数:用于处理字符串数据,例如CONCAT、LENGTH、SUBSTRING、UPPER、LOWER等。 ```sql SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM table_name; ``` 6. 条件表达式:用于根据条件过滤结果集,例如IF、CASE等。 ```sql SELECT column_name, IF(column_name > 10, '大于10', '小于等于10') AS result FROM table_name; ``` 以上是MySQL数据库中常用的SELECT查询表达式,可以根据实际需求选择使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值