Requête de données numériques :
SELECT * FROM tb_name WHERE sum > 100;
Prédicat de requête :>,=,<,<>,!=,!>,!<,=>,= <
2. Chaîne de requête
SELECT * FROM tb_stu WHERE sname = '小刘' SELECT * FROM tb_stu WHERE sname like '刘%' SELECT * FROM tb_stu WHERE sname like '%程序员' SELECT * FROM tb_stu WHERE sname like '%PHP%'
3. Interroger les données de date
SELECT * FROM tb_stu WHERE date = '2011-04-08'
Remarque : Différentes bases de données ont des différences dans les données de date : :
(1)MySQL : SELECT * depuis tb_name WHERE anniversaire = '2011-04-08'
(2)SQL Server :SELECT * depuis tb_name WHERE anniversaire = '2011-04-08'
(3) Accès : SELECT * from tb_name WHERE anniversaire = #2011-04-08#
Quatre données logiques de requête
SELECT * FROM tb_name WHERE type = 'T' SELECT * FROM tb_name WHERE type = 'F'
Opérateur logique : et ou non
5. Interroger des données non vides
SELECT * FROM tb_name WHERE address <>'' order by addtime desc
Remarque : <> Équivalent à !=
6. Interroger des données numériques à l'aide de variables
SELECT * FROM tb_name WHERE id = '$_POST[text]'
Remarque : Lorsque vous utilisez des variables pour interroger des données, les variables transmises à SQL n'ont pas besoin d'être placées entre guillemets, car lorsque les chaînes en PHP sont connectées à des données numériques, le programme convertira automatiquement les données numériques en chaînes, puis se connectera à la chaîne. pour être connecté
Seven utilise des variables pour interroger les données de chaîne
SELECT * FROM tb_name WHERE name LIKE '%$_POST[name]%'
La méthode de correspondance exacte "%%" signifie qu'elle peut apparaître n'importe où
Huit requête les n premiers enregistrements
SELECT * FROM tb_name LIMIT 0,$N;
L'instruction limit est utilisée en conjonction avec d'autres instructions, telles que les instructions order by, et l'instruction SQL sera en constante évolution, ce qui rend le programme très flexible
Neuf interroge les n enregistrements suivants
SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n
Dix interroge les n enregistrements à partir de la position spécifiée
SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n
Remarque : L'identifiant des données commence à 0
Les n premiers enregistrements dans les résultats statistiques de la onzième requête
SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
Les données de la période spécifiée dans la douzième requête
SELECT Champ à trouver FROM Nom de la table WHERE Nom du champ BETWEEN Valeur initiale ET Valeur finale
SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18
Treizième requête de données statistiques par mois
SELECT * FROM tb_stu WHERE month(date) = '$_POST[date]' ORDER BY date ;
Remarque : le langage SQL fournit les fonctions suivantes, qui peuvent être utilisées pour interroger facilement par année, mois et jour
year(data) : Renvoie la valeur correspondant à l'année et à la minute AD dans le expression de données
mois(données) : renvoie la valeur correspondant au mois et à la minute dans l'expression de données
jour(données) : renvoie la valeur correspondant à la date dans l'expression de données
Quatorzième requête est supérieur à la condition spécifiée Enregistrements
SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
Quinze résultats de requête n'affichent pas d'enregistrements en double
SELECT DISTINCT field name FROM table name WHERE conditions de requête
Remarque : DISTINCT dans l'instruction SQL doit être cohérent avec la clause WHERE À utiliser conjointement, sinon les informations de sortie ne changeront pas et le champ ne peut pas être remplacé par *
Seize NOT et prédicat sont utilisés pour interroger les conditions combinées
(1) NOT BERWEEN … AND … paire entre le début La requête de ligne pour les données entre la valeur et la valeur de fin peut être modifiée en
(2)IS NOT NULL Requête pour non null valeurs
(3)IS NULL pair Requête avec des valeurs vides
(4)NOT IN Cette formule précise la recherche d'expression selon que le mot-clé utilisé est inclus dans la liste ou exclu de la liste. l'expression de recherche peut être une constante ou un nom de colonne, et le nom de la colonne peut être un ensemble de constantes, mais le plus souvent il s'agit d'une sous-requête
Dix-sept affiche les enregistrements en double et le nombre d'enregistrements dans la table de données
SELECT name,age,count(*) ,age FROM tb_stu WHERE age = '19' group by date
Dix-huit trie les données par ordre décroissant / Requête par ordre croissant
SELECT nom du champ FROM tb_stu WHERE condition ORDER BY champ DESC ordre décroissant
SELECT nom du champ FROM tb_stu WHERE condition ORDER PAR champ ASC ordre croissant
Remarque : Si vous ne spécifiez pas de méthode de tri lors du tri des champs, alors la valeur par défaut est l'ordre croissant ASC
Dix-neuf paires de données sont des requêtes multi-conditions
SELECT nom du champ FROM tb_stu WHERE condition ORDER BY champ 1 ASC champ 2 DESC ...
Remarque : le tri multicondition des informations de requête est Afin de limiter conjointement la sortie des enregistrements, en général, il existe certaines différences dans les effets de sortie car ils ne sont pas limités par une seule condition.
Vingt paires de résultats statistiques sont triées
La fonction SUM (nom du champ [ALL]) ou SUM (nom du champ [DISTINCT]) peut être utilisée pour additionner les champs. is all Additionnez tous les enregistrements de ce champ. S'il est DISTINCT, additionnez les champs de tous les enregistrements uniques dans ce champ
Par exemple :
SELECT name,SUM(price) AS sumprice FROM. tb_price GROUP BY name
SELECT * FROM tb_name ORDER BY mount DESC,price ASC
Vingt et une statistiques de regroupement de données sur une seule colonne
SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
注:当分组语句group by排序语句order by同时出现在SQL语句中时,要将分组语句书写在排序语句的前面,否则会出现错误
二十二多列数据分组统计
多列数据分组统计与单列数据分组统计类似
SELECT *,SUM(字段1*字段2) AS (新字段1) FROM 表名 GROUP BY 字段 ORDER BY 新字段1 DESC
SELECT id,name,SUM(price*num) AS sumprice FROM tb_price GROUP BY pid ORDER BY sumprice DESC
注:group by语句后面一般为不是聚合函数的数列,即不是要分组的列
二十三多表分组统计
SELECT a.name,AVG(a.price),b.name,AVG(b.price) FROM tb_demo058 AS a,tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;