1.关于distinct的使用
查询名字不重复的语句:
select distinct name from table
但是我们要把id字段信息也取到
select distinct name,id from table
这样查询的结果是把id和name值同时重复的去掉,和只查询名字不重复的意愿违背,怎么解决呢?解决方法如下:
select *, count(distinct name) from table group by name
2.关于join的使用
join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
SQL INNER JOIN 关键字
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
INNER JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:INNER JOIN 与 JOIN 是相同的。
SQL LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
LEFT JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
SQL RIGHT JOIN 关键字
RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
RIGHT JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。
SQL FULL JOIN 关键字
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
FULL JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
3.mysqlDate函数
http://www.w3school.com.cn/sql/sql_dates.asp
4.mysql IFNULL()和COALESCE()函数
把值为NUll的设置为:0
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products
5.mysql GROUP_CONCAT()函数
group_concat()函数可以用来拼接字符串
group_concat(str)默认以逗号拼接
group_concat(str SEPARATOR'_')下划线拼接
SELECT GROUP_CONCAT(IFNULL(city,'城市未定义') SEPARATOR'_') as citys FROM persons
6.CONCAT()和CONCAT_WS()函数
concat()函数 直接拼接 有一个是NULL结果就为NULL
concat_ws() 以特定符合隔开 ,而且第一是特定符号,有NULL值不影响拼接结果
SELECT CONCAT('My', 'QL',NULL);
SELECT CONCAT_WS(',','乐自游',NULL,'杭州旅游')
7.having的使用
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SELECT city, sum(age) FROM persons WHERE city='杭州' or city='苏州' GROUP BY city HAVING SUM(age)<40
8.mid的使用
MID 函数用于从文本字段中提取字符。
我们拥有下面这个 "Persons" 表:
Id
LastName
FirstName
Address
City
1 |
Adams |
John |
Oxford Street |
London |
2 |
Bush |
George |
Fifth Avenue |
New York |
3 |
Carter |
Thomas |
Changan Street |
Beijing |
现在,我们希望从 "City" 列中提取前 3 个字符。
我们使用如下 SQL 语句:
SELECT MID(City,1,3) as SmallCity FROM Persons
结果集类似这样:
9.DATE_FORMAT()函数的使用
DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01, . . ., 59)
%i 两位数字形式的分( 00,01, . . ., 59)
%H 两位数字形式的小时,24 小时(00,01, . . ., 23)
%h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)
%k 数字形式的小时,24 小时(0,1, . . ., 23)
%l 数字形式的小时,12 小时(1, 2, . . ., 12)
%T 24 小时的时间形式(h h : m m : s s)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)
%a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)
%d 两位数字表示月中的天数( 00, 01, . . ., 31)
%e 数字形式表示月中的天数( 1, 2, . . ., 31)
%D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)
%w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(J a n u a r y, February, . . ., December)
%b 缩写的月名( J a n u a r y, February, . . ., December)
%m 两位数字表示的月份( 01, 02, . . ., 12)
%c 数字表示的月份( 1, 2, . . ., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
如:
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %r') as PerDate FROM persons
结果如下:
PerDate
2012-04-13 11:44:08 AM
分享到:
相关推荐
在这个名为"mysql查询语句学习记录.zip"的压缩包中,我们很可能找到了一个由kwan1117编写的关于MySQL查询的学习笔记或教程。下面将详细讨论MySQL查询语句的核心概念、常用操作以及一些高级特性。 首先,基础的SQL...
MySQL 查询语句学习教案 在学习 MySQL 查询语句之前,需要了解基本的 SQL 语句结构和数据类型。SQL 语句结构主要包括 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY 六部分。 1. 逻辑表达式 在 WHERE 子句...
这份"MySQL查询语句汇总.zip"文件提供了全面的学习资料,包括相关的文档说明,非常适合对MySQL查询语句进行深入学习。 首先,我们要了解SQL(Structured Query Language),它是用于管理关系数据库的标准语言,而...
mysql sql编程入门级资料 包括数据库的增、删、改、查。
这份"mysql查询语句汇总.zip"包含了丰富的学习资源,包括"mysql查询语句汇总.pdf"和"项目说明.pdf"两个文件,旨在帮助用户深入理解和掌握MySQL查询的各个方面。 首先,"mysql查询语句汇总.pdf"很可能是一个详细的...
【MySQL SQL语句学习文档】 在SQL语言中,MySQL提供了丰富的功能来操作数据库,包括创建、修改和删除数据表,创建和使用视图,管理索引以及操作数据库模式。以下是一些基本操作的实例和解释: ### 表操作 1. **...
这份"mysql脚步语句学习资料.zip"压缩包显然包含了关于MySQL查询语言的学习资源,特别是关于SQL脚本的知识。SQL(Structured Query Language)是用于与数据库交互的标准语言,用于创建、查询、更新和管理关系数据库...
本资料“mysql查询语句汇总.rar”包含了一份关于MySQL查询语句的详细文档“mysql查询语句汇总.docx”,旨在帮助用户理解和掌握在MySQL中进行数据查询的各种方法。 1. **基础查询** - **SELECT语句**:用于从数据库...
### MySQL查询语句汇总与使用指南 #### 一、MySQL简介 MySQL作为一款关系型数据库管理系统(RDBMS),在Web开发与数据存储领域占据着举足轻重的地位。其核心优势在于支持SQL(Structured Query Language)语言进行...
通过这个练习,学习者可以深入理解MySQL查询语句的使用,提高数据库管理能力,并准备应对各种实际工作场景。通过不断实践和测试,这些知识点会逐渐变得熟悉,从而提升数据库查询的效率和准确性。
mysql数据库各种语句学习,自己学习的时候觉得很实用,分享给大家,做数据库方面的开发用得到
### MySQL查询语句详解 #### 一、概述 在数据库管理与操作中,SQL(Structured Query Language)是一种非常重要的语言工具,尤其对于关系型数据库管理系统(RDBMS)而言更是如此。MySQL作为一款广泛使用的开源关系...
本教程主要针对初学者,旨在提供一套完整的MySQL基础查询语句学习资料。通过尚硅谷的课程,我们将逐步掌握如何使用SQL(Structured Query Language)来操作数据库。 一、SQL基础 SQL是用于管理关系数据库的语言,...
MySQL查询语句学习 从一个MySQL的例子来学习查询语句,这是最快最有效的学习方法之一。通过分析以下示例代码,我们可以了解到查询语句的使用方法和查询的类型。 首先,让我们了解一下SELECT语句的使用。SELECT语句...
本知识点集锦将全面介绍MySQL中的SQL查询语句,包括基础操作、数据管理和安全性设置等方面。 基础操作是数据库管理的基础,包括创建和选择数据库、表的操作。创建数据库的语句是`CREATE DATABASE 数据库名;`。例如...
在本资料中,我们将深入探讨10种重要的MySQL查询语句及其用法,帮助你更好地理解和掌握数据库查询技巧。 1. **SELECT语句**:这是最基础的查询语句,用于从数据库中获取数据。例如: ```sql SELECT column1, ...