sql语句

1.去重

select distinct university from user_profile ; distinct去重,放在列的前面使用。

SELECT universityfrom user_profile group by university;以分组来筛选出去重的结果

2.限定查询那行

LIMIT:用来限定查询结果的起始行,以及总行数。

查询 5 行记录,起始行从 0 开始

SELECT * FROM emp LIMIT 0, 5;

注意,起始行从 0 开始,即第一行开始!

3.改名

select device_id as user_infos_example from user_profile limit 0,2

4.等于不等于

可以用 = 或 like,!=和 not like

5.范围查询

WHERE age >= 20 and age<=23

WHERE age between 20 and 23

where university in('北京大学','复旦大学','山东大学')

6.不为空

where age is not NULL;

where age !='';

7.连接查询

内连接 inner join on:select * from a_table a inner join b_table b on a.a_id = b.b_id;

左连接 left join on:SELECT  * FROM a_table a left join b_table b ON a.a_id = b.b_id;

右连接 right join on:SELECT  * FROM a_table a left join b_table b ON a.a_id = b.b_id;

三表连接:

select * from (emp left join manage on dept.emp_id=manage.emp_id) left join dept on  dept.id =emp.dept_id

全连接:

union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;

( 通过union连接的SQL它们分别单独取出的列数必须相同, 不要求合并的表列名称相同时,以第一个sql 表列名为准)

8.模糊查询

% :表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情

况下若是中文,请使用两个百分号(%%)表示。

_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字 符长度语句。

9.排序查询

升序:ORDER BY sage ASC;(ASC可省)

降序:ORDER BY age DESC;

10.聚合函数

COUNT():统计指定列不为 NULL 的记录行数;

MAX():计算指定列的最大值

MIN():计算指定列的最小值

SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为 0;

AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为 0;

ROUND(column_name,decimals):column_name: 要舍入的字段,必需;decimals: 规定要返回的小数位数,可选

11.分组

分组再加条件的话用having不能用where

多重分组:group by gender, university

12.子查询

子查询语句可以独立执行,查询结果是一个数据,一条数据,或者一张临时数据表,可以对子查询用> < = in 等操作

13.插入命令

14.修改命令

15.删除命令

16.执行顺序

(where中不能用select中的别名,having中才能用)

17.explain

通过explain可以分析sql语句

18.删除数据库

drop 命令格式:

drop database <数据库名>;

例如删除名为 RUNOOB 的数据库:

mysql> drop database RUNOOB;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MyBatis是一个开源的持久层框架,它可以帮助开发者简化数据库操作的代码。MyBatis动态SQL语句是指在编写SQL语句时可以根据不同的条件动态生成不同的SQL语句。 MyBatis提供了以下几种方式来实现动态SQL语句: 1. if元素:通过if元素可以根据条件判断来生成不同的SQL语句片段。例如: ``` <select id="getUserList" parameterType="User" resultType="User"> SELECT * FROM user WHERE 1=1 <if test="name != null"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </select> ``` 上述示例中,如果传入的User对象中name属性不为空,则会生成AND name = #{name}这段SQL语句。 2. choose、when、otherwise元素:通过choose、when、otherwise元素可以实现类似于switch语句的功能,根据不同的条件选择不同的SQL语句片段。例如: ``` <select id="getUserList" parameterType="User" resultType="User"> SELECT * FROM user WHERE 1=1 <choose> <when test="name != null"> AND name = #{name} </when> <when test="age != null"> AND age = #{age} </when> <otherwise> AND status = 'ACTIVE' </otherwise> </choose> </select> ``` 上述示例中,如果传入的User对象中name属性不为空,则会生成AND name = #{name}这段SQL语句;如果name为空而age不为空,则会生成AND age = #{age}这段SQL语句;如果name和age都为空,则会生成AND status = 'ACTIVE'这段SQL语句。 3. foreach元素:通过foreach元素可以实现对集合类型的参数进行遍历,并生成相应的SQL语句片段。例如: ``` <select id="getUserList" parameterType="List" resultType="User"> SELECT * FROM user WHERE id IN <foreach collection="list" item="id" open="(" separator="," close=")"> #{id} </foreach> </select> ``` 上述示例中,如果传入的List参数中包含[1, 2, 3]三个元素,则会生成SELECT * FROM user WHERE id IN (1, 2, 3)这段SQL语句。 这些是MyBatis动态SQL语句的几种常用方式,通过它们可以根据不同的条件生成不同的SQL语句,提高了SQL语句的灵活性和可复用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值