您好,登錄后才能下訂單哦!
本篇內容主要講解“javascript是不是sql語言”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“javascript是不是sql語言”吧!
javascript不是sql語言。JavaScript是一種基于原型編程、多范式的動態腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果;而SQL是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。
本教程操作環境:windows7系統、javascript1.8.5&&mysql8版、Dell G3電腦。
javascript不是sql語言。javascript和sql語言是兩種不同的語言,且用處也不一樣。
什么是javascript?
JavaScript(簡稱“JS”) 是一種具有函數優先的輕量級,解釋型或即時編譯型的編程語言。雖然它是作為開發Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環境中,JavaScript 基于原型編程、多范式的動態腳本語言,并且支持面向對象、命令式和聲明式(如函數式編程)風格。
JavaScript是一種屬于網絡的高級腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
主要功能
1.嵌入動態文本于HTML頁面。
2.對瀏覽器事件做出響應。
3.讀寫HTML元素。
4.在數據被提交到服務器之前驗證數據。
5.檢測訪客的瀏覽器信息。控制cookies,包括創建和修改等。
6.基于Node.js技術進行服務器端編程。
JavaScript的使用方式
script的type屬性可以不寫,如果要寫的話使用
type="text/javascript"
方式1:js的內部方式
<script> //單行注釋 /*多行注釋*/ //在js常見的函數 //向瀏覽器打印內容,類似于Java中的控制臺輸出語句 document.write("hello,JavaScript我來了!") ; //還可以在瀏覽器中控制臺中打印內容 console.log("hello,JavaScript我來了") ; //在瀏覽中彈出一個提示框 //window對象是瀏覽器中頂級對象,可以省略不寫! //window.alert("helloworld") ; //簡寫為: alert("helloworld") ; </script> -->
方式2:外部方式
實際開發中(前端開發人員開發使用的!)
需要在js文件夾中單獨創建一個后綴為.js的文件
書寫js代碼,在當前html頁面中將js文件導入即可!
導入外部js文件
<script src="js/01.js"></script>
什么是SQL?
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。
SQL從功能上可以分為3部分:數據定義、數據操縱和數據控制。
1、SQL數據定義功能:能夠定義數據庫的三級模式結構,即外模式、全局模式和內模式結構。在SQL中,外模式又叫做視圖(View),全局模式簡稱模式(Schema),內模式由系統根據數據庫模式自動實現,一般無需用戶過問。
2、SQL數據操縱功能:包括對基本表和視圖的數據插入、刪除和修改,特別是具有很強的數據查詢功能。
3、SQL的數據控制功能:主要是對用戶的訪問權限加以控制,以保證系統的安全性。
DDL語句: 數據庫操作語句
數據庫的DDL語句(數據庫的定義語句)之庫的操作
-- :普通注釋 當行注釋 /* mysql的多行注釋*/ #特殊注釋 -- 查詢當前mysql中自帶的所有庫有哪些 庫在我們電腦磁盤上----> 文件夾 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | mysql的默認配置庫 | mysql | 有user表 (管理員用戶表) :root用戶就在這個庫中 | performance_schema | mysql其他庫(性能相關) | test | 測試庫,但是不用它,自己創建新的庫 +--------------------+ 4 rows in set (0.00 sec) -- 創建庫 -- create database 庫名; mysql> create database myEE_2203 ; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | myee_2203 | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) -- create database if not exists 庫名; mysql> create database if not exists ee2203; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | ee2203 | | myee_2203 | | mysql | | performance_schema | | test | +--------------------+ 6 rows in set (0.00 sec) -- 查詢創建庫的字符集 -- show create database 庫名; mysql> show create database myee_2203; +-----------+--------------------------------------------------------------------+ | Database | Create Database | +-----------+--------------------------------------------------------------------+ | myee_2203 | CREATE DATABASE `myee_2203` /*!40100 DEFAULT CHARACTER SET utf8 */ | +-----------+--------------------------------------------------------------------+ 1 row in set (0.00 sec) -- 修改庫的字符集 -- alter database 庫名 default character set 字符集名稱; mysql> alter database myee_2203 default character set gbk; Query OK, 1 row affected (0.00 sec) mysql> show create database myee_2203; +-----------+-------------------------------------------------------------------+ | Database | Create Database | +-----------+-------------------------------------------------------------------+ | myee_2203 | CREATE DATABASE `myee_2203` /*!40100 DEFAULT CHARACTER SET gbk */ | +-----------+-------------------------------------------------------------------+ 1 row in set (0.00 sec) -- 刪除庫 -- drop database 庫名 ; mysql> drop database ee2203; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | myee_2203 | | mysql | | performance_schema | | test | +--------------------+ -- drop database if exists 庫名 ; 如果存在這個庫刪除 mysql> drop database if exists myee_2203; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
數據庫DDL語句(數據庫定義語句)之建表,修改表,查詢表,刪除表…
mysql常見的數據類型 int :整數類型 默認最大長度11位字符,給int類型的數據的時候,當前存儲的是值的真實長度 舉例 年齡字段age int類型 int(字符數): 整數類型, 給int(3)這個值的時候,實際存儲3位,但是賦值的時候不夠3位 (使用很少) id字段 1-----int(3) -------------------001 varchar(最大支持255個長度): 字符串類型 指定varchar(指定長度) date:僅僅是日期類型 datetime:日期+時間類型 timestap:時間戳 (舉例:管理員添加一個商品,商品上架的時間:當前系統瞬時時間 :2021-5-11 16:50分) double:小數類型 double(幾位數,小數點后保留的位數) 舉例: double(4,2): 4位,小數點后保留2位 clob:大字符類型 支持 "大文本" blob:大字節類型 最大支持4G -- 建表之前,必須使用哪個庫 -- use 庫名; mysql> use ee_2203; Database changed mysql> /* create table 表名( 字段名稱1 字段類型1, 字段名稱2 字段類型2, ... ... 字段名稱n 字段類型n ) ; */ mysql> create table student( -> id int, -> name varchar(10), -> age int, -> gender varchar(2), -> address varchar(50), -> socre double(3,1) -> ); Query OK, 0 rows affected (0.02 sec) -- 查詢當前庫中有哪些表 -- show tables ; mysql> show tables ; +-------------------+ | Tables_in_ee_2203 | +-------------------+ | student | +-------------------+ 1 row in set (0.00 sec) mysql> -- 查看表的結構 -- desc 表名; mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(10) | YES | | NULL | | | age | int(11) | YES | | NULL | | | gender | varchar(2) | YES | | NULL | | | address | varchar(50) | YES | | NULL | | | socre | double(3,1) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 6 rows in set (0.01 sec) -- 修改表的字段名稱 -- alter table 表名 change 舊字段名稱 新的字段名稱 以前的字段數據類型; mysql> alter table student change gender sex varchar(2) ; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(10) | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | varchar(2) | YES | | NULL | | | address | varchar(50) | YES | | NULL | | | socre | double(3,1) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 6 rows in set (0.01 sec) -- 修改表的字段類型 modify -- alter table 表名 modify 字段名稱 新的字段類型 ; mysql> alter table student modify address varchar(100) ; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(10) | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | varchar(2) | YES | | NULL | | | address | varchar(100) | YES | | NULL | | | socre | double(3,1) | YES | | NULL | | +---------+--------------+------+-----+---------+-------+ 6 rows in set (0.01 sec) -- 修改表:給表中添加一個新的字段 -- alter table 表名 add 字段名稱 字段類型; mysql> alter table student add description varchar(200) ; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0 -- 復制一張表 -- create table 新表名 like 舊表名; mysql> create table teachear like student ; Query OK, 0 rows affected (0.02 sec) mysql> show tables; +-------------------+ | Tables_in_ee_2203 | +-------------------+ | student | | teachear | +-------------------+ 2 rows in set (0.00 sec) -- 刪除表 -- drop table 表名; -- drop table if exists 表名; mysql> drop table if exists teachear; Query OK, 0 rows affected (0.01 sec) mysql> show tables; +-------------------+ | Tables_in_ee_2203 | +-------------------+ | student | +-------------------+ 1 row in set (0.00 sec)
DML數據:數據庫操作語句 :操作表的記錄
查詢數據
-- 查詢這個庫中有哪些表 SHOW TABLES ; -- 創建一張新的表學生表,id,姓名,年齡,性別,住址 CREATE TABLE student( id INT , -- 學號 NAME VARCHAR(10), -- 姓名 age INT, -- 年齡 gender VARCHAR(5), -- 性別 address VARCHAR(50) -- 住址 ) ; -- 查詢學生的表的結構 DESC student ;
插入數據
-- 給學生表中插入數據 -- 插入數據的語法1:insert into 表名 values(值1,值2,值3,值4...值n); 插入全部數據 INSERT INTO student VALUES(1,'高圓圓',42,'女','西安市') ; -- 插入表的數據支持 :一次插入多條數據 -- insert into 表名 values(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n); INSERT INTO student VALUES(2,'文章',35,'男','咸陽市'), (3,'馬伊琍',40,'女','上海市'),(4,'馬保國',56,'男','寶雞市') ; -- 語法2:插入部分字段,沒有插入的字段,默認值就是null, 也支持一次性插入多條數據 -- insert into 表名(字段名稱1,字段名稱2....) values(值1,值2...) ; INSERT INTO student(id,NAME,age,gender) VALUES(5,'王寶強',35,'男') ; INSERT INTO student(id,NAME,age,gender) VALUES(6,'張三豐',60,'男'),(7,'令狐沖',38,'男') ; /* 注意事項: 1)插入的這些值必須要和表中的字段對應上; 先后順序保證一致! 2)目前沒有加入"數據庫約束",可以插入非法數據,舉例:id重復 , 后期需要使用數據庫約束來限定用戶的操作表的行為! */ -- 插入一個學生id為7的 INSERT INTO student VALUES(7,'張佳寧',32,'女','西安市') ;
修改數據
-- 一般實際開發中修改:都是帶條件修改 (推薦) -- update 表名 set 字段名稱 = 值 where 條件 ; -- 需求:將name為張佳寧的學生id改為8 UPDATE student SET id = 8 WHERE NAME = '張佳寧' ; -- 需求: 修改id為6的學生的姓名為 '姚笛' (id字段在實際開發中:都是非業務字段,以后唯一的) UPDATE student SET NAME = '姚笛' WHERE id = 6 ; -- 語法2:一次性修改多個字段 -- update 表名 set 字段名稱1 = 值 ,字段名稱2 =值2.... where 條件; -- 需求:將id為6的學生 的年齡改為25,性別改為女,地址改為上海 UPDATE student SET age = 25,gender ='女',address='上海市' WHERE id = 6 ; -- 語法3:不帶條件 屬于批量修改 (部分場景可以用的) -- update 表名 set 字段名稱= 值,字段名稱2 =值2.... UPDATE student SET address = '鄠邑區' ;
刪除數據
-- delete from 表名 where 條件 ; 帶條件刪除記錄 (使用的非業務字段id刪除) -- 需求:刪除id為7的學生信息 DELETE FROM student WHERE id = 7 ; -- delete from 表名 :刪除全表數據 DELETE FROM student ; -- truncate table 表名; 刪除全表數據 TRUNCATE TABLE student; /* 面試題: delete from 表名 和 truncate table 表名 :兩個區別? 共同點:都是可以刪除全表的記錄的; 不同點: delete from 表名 ; 僅僅只是將表的全部記錄刪除了,表還在! 它針對id(非業務字段:設置主鍵并且自增長),它不影響自增長主鍵的這個值; (數據庫約束后面講) truncat table 表名; 將表所有數據刪除,而且還會把刪除之后, 自動創建一個張一模一樣的表,影響自增主鍵的值! */ DROP TABLE student ; SHOW TABLES ; -- 創建一個學生表,id 加入主鍵(非空且唯一)和自增長(不斷的自增1)約束 CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT , -- id主鍵并且自增長 NAME VARCHAR(20),-- 姓名 age INT ); -- 一次插入4條 INSERT INTO student(NAME,age) VALUES('高圓圓',42),('張佳寧',32),('文章',35),('王寶強',38) ; -- 自增長的id可以自己給個值 INSERT INTO student VALUES(15,'高圓圓2',42); INSERT INTO student(NAME,age) VALUES('姚笛',35) ;
DQL語句:(數據庫查詢語句)
-- DQL語句最通用的語法:查詢表的全部數據 -- -- * 代表所有字段,僅僅是自己玩的時候可以用,實際開發中不能用*,需要寫上全部的字段名稱 SELECT * FROM student ; CREATE TABLE student3 ( id INT, -- 編號 NAME VARCHAR(20), -- 姓名 age INT, -- 年齡 sex VARCHAR(5), -- 性別 address VARCHAR(100), -- 地址 math INT, -- 數學 english INT -- 英語 ); INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'馬云',55,'男',' 杭州',66,78), (2,'馬化騰',45,'女','深圳',98,87), (3,'馬景濤',55,'男','香港',56,77), (4,'柳巖 ',20,'女','湖南',76,65), (5,'柳青',20,'男','湖南',86,NULL), (6,'劉德華',57,'男','香港 ',99,99), (7,'馬德',22,'女','香港',99,99), (8,'德瑪西亞',18,'男','南京',56,65);
1)最基本的查詢語句 select
-- 查詢全表數據:select * from 表名; SELECT * FROM student3 ; -- 實際開發中查詢全部字段,把字段名稱全部寫上 SELECT id, NAME, age, sex, address, math, english FROM student3; -- 查詢全部字段的時候,給字段起一個別名 as '別名名稱' ,as省略 SELECT id AS '編號', NAME AS '姓名', age AS '年齡', sex AS '性別', address AS '地址', math AS '數學成績', english AS '英語成績' FROM student3 ; -- as 可以省略的 SELECT id '編號', NAME '姓名', age '年齡', sex '性別', address '地址', math '數學成績', english '英語成績' FROM student3 ; -- 當表的名稱比較長的時候,可以給表名起一個別名; SELECT s.`id` '學生編號', s.`name` '學生姓名', s.`age` '學生年齡', s.`sex` '學生性別', s.`address` '學生地址', s.`math` '數學成績', s.`english` '英語成績' FROM student3 s ;-- 起了一個別名s -- 可以查詢部分字段 -- 需求:查詢學生的姓名以及數學和英語成績 SELECT NAME '姓名', math '數學成績', english '英語成績' FROM student3 ; -- 需求:查詢學生的地址信息 SELECT address FROM student3; -- 發現:字段冗余(重復度大) 字段去重 DISTINCT 后面跟上字段名稱 SELECT DISTINCT address FROM student3;
2)DQL語句之條件查詢 where 關鍵字
-- 2.1)使用 賦值運算符=,比較運算符 <,<=,>=,>,!=, mysql中的不等于 <> -- 2.2)Java中邏輯運算符:&&,|| mysql推薦使用 and , or -- 2.2)針對兩個范圍查詢: 可以使用&&,可以使用and, 也可以 "字段名稱 between 值1 and 值2" -- 需求:查詢年齡大于20歲的學生所有信息 SELECT * FROM student3 WHERE age > 20 ; -- 需求:查詢年齡在20到30之間的學生的姓名,年齡,住址 ,數學和英語成績信息 SELECT NAME '姓名', age '年齡', address '住址', math '數學成績', english '英語成績' FROM student3 WHERE age >= 20 && age <= 30 ; -- && 邏輯雙與 -- mysql中使用and 并列關系 SELECT NAME '姓名', age '年齡', address '住址', math '數學成績', english '英語成績' FROM student3 WHERE age >= 20 AND age <= 30 ; -- and 連接 -- 使用的between 值1 and 值2 SELECT NAME '姓名', age '年齡', address '住址', math '數學成績', english '英語成績' FROM student3 WHERE age BETWEEN 20 AND 30 ; -- 需求:查詢年齡是20歲學生的所有信息 SELECT * FROM student3 WHERE age = 20 ; -- 需求:查詢年齡不是20歲的學生的所有信息 SELECT * FROM student3 WHERE age != 20 ; -- != Java中 的用法 SELECT * FROM student3 WHERE age <> 20 ;-- mysql中的不等于 <> -- 需求:查詢年齡是18歲或者是20或者是45歲的學生的所有信息 SELECT * FROM student3 WHERE age = 18 || age =20 || age = 45 ;-- Java中邏輯雙或|| SELECT * FROM student3 WHERE age = 18 OR age =20 OR age = 45 ; -- Mysql中的or這個表示 或(并集) -- 上面這個格式優化為 in(值1,值2,值3..值n) ;in集合語句 SELECT * FROM student3 WHERE age IN(18,20,45) ; -- Java語言中:去判斷某個條件的內容為null ,mysql語言不支持這個格式 ==null -- 需求:查詢學生的英語成績為null的學生所有信息 -- select * from student3 where english == null ; -- mysql中判斷某個字段為null,使用的語法是 is null -- 判斷某個字段不為null,使用的語法是 is not null SELECT * FROM student3 WHERE english IS NULL ; -- 需求:查詢學生的英語成績不為null的學生的所有信息 SELECT * FROM student3 WHERE english IS NOT NULL ; -- 關于int類型字段求和的時候,注意: int類型的值 + null 值 = null; -- 查詢學生的姓名以及英語和數學總分 SELECT NAME '姓名', (math+english) '總分' FROM student3 ; -- 上面這種情況:不太友好,數學成績有值,但是結果求和是null -- mysql提供函數 ifnull(字段名稱,值); 如果字段名稱是null,給一個默認值 SELECT NAME '姓名', (math+IFNULL(english,0)) '總分' FROM student3 ; SHOW VARIABLES LIKE '%character%' ;
3)DQL語句之 where條件后面加入模糊查詢 —關鍵字 like
-- select 字段列表 from 表名 where 字段名稱 like '%xxx%' ; -- %:代表任何多個字符或者某個字符 (使用居多):網站門戶系統---"搜索商品" ,模糊搜索 -- _:代表某個單個字符 -- 需求:查詢所有姓馬的學生信息 SELECT * FROM student3 WHERE NAME LIKE '%馬%' -- 查詢學生姓名三個字符并且第二個字符是化的人 SELECT * FROM student3 WHERE NAME LIKE '_化_' ; -- 查詢姓名為三個字符的學生信息 SELECT * FROM student3 WHERE NAME LIKE '___' ;
4)聚合函數查詢
針對int類型: 單行單列數據 -- select 聚合函數 from 表名 where 還可以指定條件; -- count(字段名稱):查詢表中記錄 ,字段名稱使用都是id,非業務字段 -- avg(字段名稱): 查詢這個字段中平均值 -- sum(字段列表):求和函數 -- max(字段名稱):最大值 -- min(字段名稱):最小值 -- 需求:查詢表的總記錄數 -- select count(english) '總記錄數' from student3; -- 前提條件使用業務字段查詢,不能有null值 -- select count(ifnull(english,0)) '總記錄數' from student3; SELECT COUNT(id) '總條數' FROM student3 ; -- 查詢數學平均分 avg(字段名稱) SELECT AVG(math) '數學平均分' FROM student3; -- 數學和英語成績求和的學生信息(姓名,和總分) SELECT SUM(math+IFNULL(english,0)) '總分' FROM student3; -- max()和min() SELECT MAX(math) '數學最高分' FROM student3 ; -- select語句嵌套select語句 --- 子查詢 -- 需求:查詢出學生數學成績大于 數學平均分的學生所有信息; -- 使用where 條件 后面帶上 比較運算符... -- Java中 -- int x =10,y ; -- y = y+x ; 將10代入 -- 1)查詢數學平均分是多少 SELECT AVG(math) FROM student3; -- 79.5000 -- 2)查詢大于數學平均分的學生信息 SELECT * FROM student3 WHERE math > 79.5000; -- 一步走 SELECT * FROM student3 WHERE math > (SELECT AVG(math) FROM student3) ; -- 查詢數學成績最高分的學生的姓名,年齡,地址以及數學成績; -- 1)查詢最高分是多少 SELECT MAX(math) FROM student3; -- 99 -- 2)查詢最高分是這個成績的學生信息 SELECT NAME '姓名', age '年齡', address '地址', math '數學成績' FROM student3 WHERE math = 99 ; -- 一步走 SELECT NAME '姓名', age '年齡', address '地址', math '數學成績' FROM student3 WHERE math = (SELECT MAX(math) FROM student3) ;
5)DQL之排序查詢 order by
select 字段列表 from 表名 order by 字段名稱 排序規則(asc(默認值就是升序)或者desc 降序) UPDATE student3 SET english = 88 WHERE id = 5 ; UPDATE student3 SET english = 94 WHERE id = 6 ; -- 需求:按照數學成績升序排序 單個字段 SELECT * FROM student3 ORDER BY math ASC ; -- 默認不寫排序規則,就是asc 升序 -- 同時條件和order by,order by在where的后面 -- 需求:數學成績大于56分的學生進行數學的降序排序 SELECT NAME , math FROM student3 WHERE math > 56 -- 先滿足條件,才能排序!where 必須order by之前 ORDER BY math DESC ; -- 多個字段要同時排序,首先第一個字段排序規則,然后才是第二個字段 -- 需求:數學成績降序,英語成績升序排序 SELECT * FROM student3 ORDER BY math DESC , english ASC ; SELECT * FROM student3 ;
6)DQL語句之分組查詢:group by
-- select 字段列表 from 表名 group by 分組字段名稱; -- 注意事項: 1)查詢的字段列表中可以使用 分組字段 -- 2)group by之后不能使用聚合函數 -- 需求:按照性別分組,查詢出他們的數學成績的平均分 SELECT sex '性別', -- 查詢的分組字段 AVG(math) '數學平均分' -- 查詢每一個組的數學平均分 FROM student3 GROUP BY sex ; -- 帶條件分組查詢的語法: where 條件 必須放在group by 之前,否則語法錯誤! -- select 字段列表包含分組字段,聚合函數.. from 表名 where 條件 group by 分組字段; -- 需求:按照性別分組,查詢出他們的數學成績的平均分,數學成績大于70分的參與分組 SELECT sex '性別', AVG(math) '數學平局分' FROM student3 WHERE math > 70 -- 先滿足條件,然后才能分組; GROUP BY sex ;
7)篩選查詢 having
-- where條件,group by,having 必須先有條件,分組,然后才篩選! -- 注意:篩選的后面可以使用聚合函數,group by的后面是不能使用聚合函數的 -- 需求:按照性別分組,查詢數學平局分,條件:數學成績大于70的人參與分組, 篩選出人數大于2的這一組 SELECT sex '性別', COUNT(id) '總人數', AVG(math) '數學平均分' FROM student3 WHERE math > 70 GROUP BY sex HAVING -- 后面可以使用聚合函數 COUNT(id) > 2 ; -- 優化為 SELECT sex '性別', COUNT(id) 人數, AVG(math) '數學平均分' FROM student3 WHERE math > 70 GROUP BY sex HAVING -- 后面可以使用聚合函數 人數 > 2 ;
8)分頁查詢 limit
-- select 字段列表 from 表名 limit 起始行數,每頁顯示的條數; -- 起始行數:從0開始算的, -- 起始行數 = (當前頁碼-1)*每頁顯示的條數 -- 前提條件:每頁顯示2條, -- 第一頁數據 SELECT * FROM student3 LIMIT 0,2; -- 第二頁數據 SELECT * FROM student3 LIMIT 2,2 ; -- 第三頁數據 SELECT * FROM student3 LIMIT 4,2 ; -- 第四頁數據 SELECT * FROM student3 LIMIT 6,2 ; -- 第五頁數據 SELECT * FROM student3 LIMIT 8,2; -- 第六頁數據 SELECT * FROM student3 LIMIT 10,2; -- 第七頁數據 SELECT * FROM student3 LIMIT 12,2;
到此,相信大家對“javascript是不是sql語言”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。