MySQL笔记4-高级查询

    科技2022-07-13  127

    结果集ResultSet 使用SELECT语句查询时,MySQL返回多行,称为结果集。 SQLyog客户端对MySQL服务器发出查询请求 MySQL服务器向SQLyog客户端返回多行查询结果数据,即查询结果集ResultSet

    更改列标签 列标签(Column Label)可以手动指定结果集的列名,如:

    SELECT `id` AS `学号`, `name` AS `姓名` FROM student;

    对结果集排序 使用ORDER BY字句,可以让MySQL对结果排序 其中 ASC表示升序(Ascending) DESC表示降序(Descending) 如:

    SELECT*FROM student WHERE sex='1' ORDER BY id ASC,birthday DESC;

    几种高级查询 范围查询 使用IN可以制定一个查询范围 示例:

    SELECT* FROM student WHERE id IN('20200001','20200002','20200003');

    用IN指定一个列表,凡在此列表中的则符合条件 对应的,NOT IN表示不在列表

    空值查询 示例:

    WHERE phone IS NULL WHERE phone IS NOT NULL

    相似查询 对于字符串字段,可以使用精确查询或相似查询 精确查询

    WHERE `name`='张三';

    相似查询 可以使用LIKE语句进行相似查询

    WHERE `name` LIKE'%三%' WHERE `name` LIKE'%张%' WHERE `name` LIKE'张%三'

    使用函数 对于字符串字段,可以使用精确查询或相似查询 例如:

    SELECT*FROM student WHERE YEAR(birthday)>=1980 AND YEAR(birthday)<1990

    其中YEAR(birthday),就是MySQL内嵌的函数,可以求日期字段的年份

    在MySQL中有几十个小函数,可以用于对字段或结果集进行简单处理 比如

    //取得结果集里的最大id SELECT MAX(id)FROM student

    注:Oracle、MySQL、SQL Server各自支持的函数不同,不能通用

    Processed: 0.010, SQL: 8