SQL经典实例-检索表中检索列

1、检索全部列或者部分列

使用 SELECT 语句来查询表,并使用特殊字符 * 指定返回所有的列。字符 * 有特殊含义,它会返回指定表中所有的列。可以用逗号分隔,列出每一列

select * from 表
select 列1,列2 from 表

用*查询过程耗时,性能较低,不建议使用,如果数据量很多会造成内存溢出的现象。

2、使用别名

修改查询结果中显示的列名,可以使用过关键字as,使用关键字 AS 给查询返回的列指定新名称的行为被称为指定别名,而指定的新名称被称为别名。

select sal as salary, comm as commission
from emp

3、在WHERE子句中使用别名来引用列

在查询列的时候已经使用过别名,想where作为条件筛选的时候使用别名sql特殊字符,告诉你会报错

select 列1 as a
from emp
where a < 5000

解决的办法用嵌套子查询

select * from 
(select 列1 as a
from 表)
where a < 5000

4、拼接列值

将a列文本与b列文本拼接到一起

在MySQL中用concat函数

1 select concat(列1, '文本',列2) as 列3
2 from emp
3

5、用case进行条件逻辑判断

CASE 表达式能够根据查询返回的值来执行条件逻辑

语法如下

语法1: case 表达式 when 值1 then 结果1 when 值2 then 结果2 …..else 结果n end

语法2:case when 表达式1 then 结果1 when 表达式1 then 结果2 …..else 结果n end

1 select ename,sal,
2 case when sal <= 2000 then 'UNDERPAID'
3 when sal >= 4000 then 'OVERPAID'
4 else 'OK'
5 end as status
6 from emp

还有一种逻辑判断是if,感兴趣的同学可以学习一下

表中检索行

1、检索部分条件行

如果想检索满足表中特定的行可以使用 WHERE 子句来指定要返回哪些行,只要满足WHERE 子句中表达式指定的条件,就会检索出来。

支持常用的运算符,比如 =、、=、! 和 。另外,你可能想返回满足多个条件的行,为此可以使用 AND、OR 和圆括号

select * from 表 where 列1 = 10

2、查找满足多个条件的行

结合使用 WHERE 子句、OR 子句和 AND 子句

select * from 表
where 列1 = 10
or 列2 is not null
or 列2 <= 2000 and 列2=20

3、限制返回行数

在mysql中用limit来限制返回的行数

select *
from 表 limit 5 # 前五行

4、随机返回n行数据

从表中随机返回5行数据,这5行数据没有顺序上的规律

在MYSQL中用rand函数

select 列1
from 表
order by rand() limit 5

order by后面通常是列,可以对列进行升序或者降序排列sql特殊字符,如果后面接的是函数,要求对每行执行该函数,并根据函数的结果进行排序。

5、模糊查找like

使用 LIKE 运算符和 SQL 通配符(%或者_)可以实现模糊查找

% 表示匹配一个或多个任意字符
_ 表示匹配一个任意字符
select * from student where like '%王'#查询王结尾的
select * from student where like '%王%'#查询包含王的

select * from student where like '王_'#查询王某的
select * from student where like '王__'#查询王某某的

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注