1. 程式人生 > 其它 >MySQL查詢 語句

MySQL查詢 語句

INSERT INTO student VALUES(1,'藺斐','男','2002-04-09',0.25);
INSERT INTO student VALUES(2,'熊大','男','1999-08-08',100);
INSERT INTO student VALUES(3,'吉吉國王','男','2009-09-09',900);
INSERT INTO student VALUES(4,'光頭強','男','2009-01-01',200);
INSERT INTO student VALUES(5,'光頭','女','2029-01-01',200);
SELECT * FROM student; -- 查詢表中所有資料

SELECT sname,ssex FROM student; -- 查詢表中指定欄位資料

SELECT sid,sname AS n,ssex AS s,birth FROM student; -- 查詢時新增常量列

SELECT DISTINCT(ssex) FROM student; -- 查詢學生表中有哪些性別 對性別進行去重

SELECT DISTINCT ssex FROM student; -- 去重 不可以和普通欄位一起查

SELECT * FROM student WHERE ssex='男'; -- 查詢表中所有男生資訊

SELECT sname,ssex,money FROM student WHERE money>500;-- 查詢零花錢大於500的同學

SELECT sid,sname,money FROM student WHERE ssex='男'AND money>=100; -- 查詢零花錢大於100元的男生編號、姓名、零花錢

SELECT * FROM student WHERE birth>'2000' AND ssex='男'; -- 查詢生日在2000年以後的男生資訊

SELECT YEAR(birth) FROM student; -- 擷取年份

SELECT MONTH(birth) FROM student; -- 擷取月

SELECT DAY(birth) FROM student; -- 擷取日

SELECT * FROM student WHERE YEAR(birth)>2000 AND ssex='男'; -- 查詢生日在2000年以後的男生

SELECT * FROM student WHERE money<200 OR YEAR(birth)<2000; -- 查詢零花錢小於200或者2000年以前出生的學生資訊

SELECT * FROM student WHERE ssex<>'男'; -- 查詢學生表中不是男生的學生資訊

-- 判空條件
INSERT * FROM student VALUES(7,'','女','2022-04-02',600) -- 演示
SELECT * FROM student WHERE sname IS NOT NULL AND sname<>''; -- 查詢姓名不為空的學生資訊
SELECT * FROM student WHERE sname IS NULL; -- 查詢姓名為null的學生資訊

-- 模糊查詢
SELECT * FROM student WHERE sname LIKE '藺%'; -- 查詢姓藺的同學資訊
SELECT * FROM student WHERE sname LIKE '__'; -- 查詢姓名為兩個字的同學資訊
SELECT * FROM student WHERE sname LIKE '%國%'; -- 查詢名字中帶國的 同學資訊
SELECT * FROM student WHERE sname LIKE '%吉%國%'; -- 查詢姓名中帶吉帶國的學生資訊

-- 聚合查詢 聚合函式 sum(求和)、avg(平均數)、max(最大值)、min(最小值)、count(記錄數)。
SELECT SUM(js) FROM score; -- 查詢成績表中所有同學的js成績
SELECT SUM(html+js+css)FROM score; -- 查詢成績表中所有同學所有科目總成績
SELECT AVG(html) FROM score; -- 查詢成績表中所有同學html平均成績
SELECT MAX(css),MIN(css)FROM score; -- 查詢成績表中css成績的最高分和最低分
SELECT COUNT(sid)FROM score; -- 查詢成績表中的總人數
SELECT COUNT(*) FROM student WHERE ssex='男'; -- 查詢學生表中男生的人數

-- 分頁查詢

-- select 結果 from 表 where 條件 分組 排序 limit 起始行,查幾行。

-- 每頁顯示2條 每頁顯示的條數,當前頁。
-- 第一頁
SELECT * FROM student LIMIT 0,2; -- 從零開始
-- 第二頁
SELECT * FROM student LIMIT 2,2;
-- 第三頁
SELECT * FROM student LIMIT 4,2;

 

SELECT ssex FROM student GROUP BY ssex; -- 查詢每個分組的人數 按誰分組就查誰。

SELECT ssex,COUNT(*) FROM student GROUP BY ssex; -- 查詢每個分組的人數 按誰分組就查誰。

SELECT ssex,SUM(money)FROM student GROUP BY ssex; -- 查詢每個性別學生零花錢總和

SELECT ssex FROM student GROUP BY ssex
HAVING COUNT(*)>2; -- 查詢人數大於2的性別 分組後。

SELECT ssex,SUM(money) FROM student GROUP BY ssex
HAVING SUM(money)>1000; -- 查詢總零花錢大於1000的性別