The complete syntax of the sql database query statement is "Select [select option] field list [field alias]/* from data source [where clause] [group by clause] [having clause] [order by sub Sentence][limit clause];".
The operating environment of this tutorial: windows7 system, mysql8 version, Dell G3 computer.
The database is mysql, and the database table name used is my_student.
The complete data information of the table is:
The complete syntax is:
Select [select option] field list [field alias]/* from data source [where clause] [group by clause][having clause][order by clause][limit clause];
①[select option]:
Select options include: ALL (all, default), distinct (remove duplication). Distinct refers to the entire record of the query results.
select DISTINCT(sex) from my_student;
##select DISTINCT(sex),name from my_student; The result is the same as selectDISTINCT sex,name from my_student; of. ②[where sentence]: Where is the only condition that starts to judge when data is fetched from the disk. Take a record from the disk and start to judge where. If the judgment result is true, then take out the result and save it to the memory, otherwise give up. select * from my_student where name = 'Haha1';##③[group by clause]: Grouping clause, group by clause is the main The function is to group for statistical operations, not for display (when displaying, only the first record of the grouped records will be displayed). When grouping, count(), max(), min(), avg(), sum() functions.
A. Single sub-segment grouping:
selectc_id,count(*),max(height),min(height),avg(height),sum(age) from my_studentgroup by c_id;
#The SQL statement means: the my_student table is grouped by c_id, and then displays the c_id name of each group after grouping, the total number of each group, the highest, lowest, Mean height and sum of ages for each group.
B. Multi-field grouping
select c_id,sex,count(*),max(height),min(height),avg(height),sum(age)from my_student group by c_id,sex;
means that the entire table is first grouped according to c_id, and then based on this grouping, each group is then grouped according to sex. Group.
C. Multi-field grouping (plus display all data of a certain field in each group)
selectc_id,sex,count(*),max(height),min(height), avg(height),sum(age) ,GROUP_CONCAT(name)from my_student group by c_id ,sex;
④[having clause]: The function of having is similar to where , and having can do almost everything where can do, but where can't do many things having can do, mainly because
where can only operate on the data when the data is extracted from the disk; while in The results of group by grouping of data in memory can only be processed through having.
selectc_id,count(*),max(height),min(height),avg(height),sum(age) from my_studentgroup by c_id having COUNT(*) >= 3;
⑤[order by clause]: Sort the data in ascending or descending order according to a certain field. (When performing multi-field sorting, first sort according to a certain field, and then sort according to a certain field within the sorted order)
A. Sorting of a single field:
select * from my_student order by c_id;
B, multi-field sorting
select * from my_student order by c_id,sex;
⑥[limit clause]: Limit the number of results. Limit offset number of records;
A、select * frommy_student limit 2;
B、select * frommy_student limit 0,3;
Related recommendations: "
mysql tutorialThe above is the detailed content of What is the basic syntax of sql database query statement. For more information, please follow other related articles on the PHP Chinese website!