Maison > base de données > tutoriel mysql > le corps du texte

Fonctions SQL et méthodes de requête

一个新手
Libérer: 2017-09-08 10:43:41
original
1799 Les gens l'ont consulté

1. Fonctions couramment utilisées :
peut être utilisée après la sélection ou où.

lower把字段变小写,upper把字段变大写,如:
SELECT userId,LOWER(username) as 变小写,UPPER(password ) as 变大写 from `user` 
substr(字段或字符串,start,length):把字段转换成大写 start从1开始 截取的长度,如:
SELECT userId,SUBSTR(username,1,2) from `user`
Copier après la connexion

2. Fonction de regroupement : le résultat calculé concerne une requête, pas une certaine ligne. *PS : as (facultatif) consiste à renommer le champ précédent (temporaire, valable uniquement cette fois, ne change pas le tableau) *

select AVG(sal) as 平均工资水平 from emp
select empno,ename,AVG(sal) as 平均工资水平 from emp
select max(sal) as 最大值 from emp
select min(sal) as 最小值 from emp
select sum(sal) as 字段和 from emp
select count(comm) as 奖金字段个数,count(sal) as 工资字段个数 from emp
Copier après la connexion


3. Regroupez et calculez les résultats de la requête :

group by:对不同的字段值进行分组。
select deptno from emp GROUP BY deptno
/*根据deptnot字段对emp表进行分组并显示各组的deptno字段*/
select deptno,avg(sal) as 各组的平均工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的平均工资*/
select deptno,max(sal) as 各组的最高工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的最高工资*/
select deptno,min(sal) as 各组的最低工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的最低工资*/
select deptno,count(sal) as 各组的有多少人有工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的有多少人有工资*/
select deptno,sum(sal) as 各组的工资总额 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的工资总额*/
对group by分组的过滤,不用where,而用hiving。如:
select JOB,avg(sal) as 平均工资 from emp GROUP BY JOB HAVING 平均工资>2000
Copier après la connexion


4. . Tels que :

SELECT * from (SELECT * from emp) as e
Copier après la connexion


5. Requête de table de jointure (requête multi-tables) :

92语法:SELECT b1.col1,b2.col2 from b b1,a b2 where b.c=a.c
99语法:inner join查询两表都有数据的结果: SELECT b1.col1,b2.col2 from emp e INNER join dept d on e.deptno=d.deptno
left join查询左边表有数据的结果:SELECT e.*,d.deptno,d.loc from emp e left join dept d on e.deptno=d.deptno
right join查询右边表有数据的结果:SELECT e.*,d.deptno,d.loc from emp e RIGHT join dept d on e.deptno=d.deptno
Copier après la connexion


6. Requête de pagination : limit(start,number of querys) start commence à 0. Tels que :

SELECT * from 表名 limit 0,5 /*查询从第一条数据开始的五条数据*/
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!