中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站的費(fèi)用的會(huì)計(jì)分錄自媒體seo是什么意思

做網(wǎng)站的費(fèi)用的會(huì)計(jì)分錄,自媒體seo是什么意思,dede網(wǎng)站重新安裝,網(wǎng)站建設(shè)背景怎么寫什么是SQL? SQL (Structured Query Language:結(jié)構(gòu)化查詢語言) 是用于管理關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。 SQL 的范圍包括數(shù)據(jù)插入、查詢、更新和刪除,數(shù)據(jù)庫模式創(chuàng)建和修改,以及數(shù)據(jù)訪問控制。 SQL語法 數(shù)據(jù)庫表 一個(gè)…

什么是SQL?

SQL?(Structured Query Language:結(jié)構(gòu)化查詢語言) 是用于管理關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。 SQL 的范圍包括數(shù)據(jù)插入、查詢、更新和刪除,數(shù)據(jù)庫模式創(chuàng)建和修改,以及數(shù)據(jù)訪問控制。

SQL語法

數(shù)據(jù)庫表

一個(gè)數(shù)據(jù)庫通常包含一個(gè)或多個(gè)表。每個(gè)表有一個(gè)名字標(biāo)識(shí)(例如:"Websites"),表包含帶有數(shù)據(jù)的記錄(行)。SQL 對(duì)大小寫不敏感:SELECT 與 select 是相同的。

SQL一些最重要的命令(常用)

  • SELECT?- 從數(shù)據(jù)庫中提取數(shù)據(jù)
  • UPDATE?- 更新數(shù)據(jù)庫中的數(shù)據(jù)
  • DELETE?- 從數(shù)據(jù)庫中刪除數(shù)據(jù)
  • INSERT INTO?- 向數(shù)據(jù)庫中插入新數(shù)據(jù)
  • CREATE DATABASE?- 創(chuàng)建新數(shù)據(jù)庫
  • ALTER DATABASE?- 修改數(shù)據(jù)庫
  • CREATE TABLE?- 創(chuàng)建新表
  • ALTER TABLE?- 變更(改變)數(shù)據(jù)庫表
  • DROP TABLE?- 刪除表
  • CREATE INDEX?- 創(chuàng)建索引(搜索鍵)
  • DROP INDEX?- 刪除索引

select

SELECT 語句用于從數(shù)據(jù)庫中選取數(shù)據(jù)。結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中,稱為結(jié)果集。

SELECT column1, column2, ...
FROM table_name;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。*為查所有字段。
  • table_name:要查詢的表名稱。

select distinct

在表中,一個(gè)列可能會(huì)包含多個(gè)重復(fù)值,有時(shí)您也許希望僅僅列出不同(distinct)的值。DISTINCT 關(guān)鍵詞用于返回唯一不同的值。

SELECT DISTINCT column1, column2, ...
FROM table_name;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table_name:要查詢的表名稱。

SQL WHERE

WHERE 子句用于提取那些滿足指定條件的記錄。

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table_name:要查詢的表名稱。

下面的運(yùn)算符可以在 WHERE 子句中使用:

運(yùn)算符描述
=等于
<>不等于。注釋:在 SQL 的一些版本中,該操作符可被寫成 !=
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某個(gè)范圍內(nèi)
LIKE搜索某種模式
IN指定針對(duì)某個(gè)列的多個(gè)可能值

SQL AND & OR 運(yùn)算符

如果第一個(gè)條件和第二個(gè)條件都成立,則 AND 運(yùn)算符顯示一條記錄。如果第一個(gè)條件和第二個(gè)條件中只要有一個(gè)成立,則 OR 運(yùn)算符顯示一條記錄。

例子:

SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;

SQL ORDER BY 關(guān)鍵字

ORDER BY 關(guān)鍵字用于對(duì)結(jié)果集按照一個(gè)列或者多個(gè)列進(jìn)行排序。

ORDER BY 關(guān)鍵字默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。如果需要按照降序?qū)τ涗涍M(jìn)行排序,您可以使用 DESC 關(guān)鍵字。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
  • column1, column2, ...:要排序的字段名稱,可以為多個(gè)字段。
  • ASC:表示按升序排序。
  • DESC:表示按降序排序。

SQL INSERT INTO 語句

INSERT INTO 語句用于向表中插入新記錄。

第一種形式無需指定要插入數(shù)據(jù)的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二種形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

參數(shù)說明:

  • table_name:需要插入新記錄的表名。
  • column1, column2, ...:需要插入的字段名。
  • value1, value2, ...:需要插入的字段值。

SQL UPDATE 語句

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table_name:要修改的表名稱。
  • column1, column2, ...:要修改的字段名稱,可以為多個(gè)字段。
  • value1, value2, ...:要修改的值,可以為多個(gè)值。
  • condition:修改條件,用于指定哪些數(shù)據(jù)要修改。

SQL DELETE 語句

DELETE 語句用于刪除表中的行。

DELETE FROM table_name
WHERE condition;
  • table_name:要?jiǎng)h除的表名稱。
  • condition:刪除條件,用于指定哪些數(shù)據(jù)要?jiǎng)h除。

高級(jí)操作

SQL SELECT TOP 子句

SELECT TOP 子句用于規(guī)定要返回的記錄的數(shù)目。

SELECT TOP 子句對(duì)于擁有數(shù)千條記錄的大型表來說,是非常有用的。

SELECT column_name(s)
FROM table_name
LIMIT number;

SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table_name:要查詢的表名稱。
  • column:要搜索的字段名稱。
  • pattern:搜索模式。

例子:

SELECT * FROM Websites
WHERE name LIKE '%k';

SQL 通配符

在 SQL 中,通配符與 SQL LIKE 操作符一起使用。

SQL 通配符用于搜索表中的數(shù)據(jù)。

在 SQL 中,可使用以下通配符:

通配符描述
%替代 0 個(gè)或多個(gè)字符
_替代一個(gè)字符
[charlist]字符列中的任何單一字符
[^charlist]

[!charlist]
不在字符列中的任何單一字符

例子:

SELECT * FROM WebsitesWHERE url LIKE 'https%';

IN 操作符

IN 操作符允許您在 WHERE 子句中規(guī)定多個(gè)值。

SELECT column1, column2, ...
FROM table_name
WHERE column IN (value1, value2, ...);
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table_name:要查詢的表名稱。
  • column:要查詢的字段名稱。
  • value1, value2, ...:要查詢的值,可以為多個(gè)值。

SQL BETWEEN 操作符

BETWEEN 操作符選取介于兩個(gè)值之間的數(shù)據(jù)范圍內(nèi)的值。這些值可以是數(shù)值、文本或者日期。

SELECT column1, column2, ...
FROM table_name
WHERE column BETWEEN value1 AND value2;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table_name:要查詢的表名稱。
  • column:要查詢的字段名稱。
  • value1:范圍的起始值。
  • value2:范圍的結(jié)束值。

SQL 別名

通過使用 SQL,可以為表名稱或列名稱指定別名。

基本上,創(chuàng)建別名是為了讓列名稱的可讀性更強(qiáng)。

-- 列的 SQL 別名語法 -->
SELECT column_name AS alias_name
FROM table_name;
-- 表的 SQL 別名語法 -->
SELECT column_name(s)
FROM table_name AS alias_name;

SQL JOIN

SQL JOIN 子句用于把來自兩個(gè)或多個(gè)表的行結(jié)合起來,基于這些表之間的共同字段。

最常見的 JOIN 類型:SQL INNER JOIN(簡(jiǎn)單的 JOIN)。 SQL INNER JOIN 從多個(gè)表中返回滿足 JOIN 條件的所有行。

在 SQL 中使用 INNER JOIN ... ON ... 時(shí),ON 后面跟的連接條件用于指定如何將兩個(gè)表中的行匹配起來。這個(gè)連接條件通常涉及兩個(gè)表中的一個(gè)或多個(gè)字段,SQL 會(huì)根據(jù)這些條件找到兩個(gè)表中滿足條件的行的交集。

然后,基于這個(gè)條件匹配的結(jié)果集,SELECT 語句后面跟的字段將決定輸出表格中包含哪些列。簡(jiǎn)單來說,INNER JOIN 會(huì)連接兩個(gè)表中滿足 ON 后面條件的那些行,而 SELECT 則用來選擇需要顯示的字段。

SELECT column1, column2, ...
FROM table1
JOIN table2 ON condition;
  • column1, column2, ...:要選擇的字段名稱,可以為多個(gè)字段。如果不指定字段名稱,則會(huì)選擇所有字段。
  • table1:要連接的第一個(gè)表。
  • table2:要連接的第二個(gè)表。
  • condition:連接條件,用于指定連接方式。

SQL INNER JOIN 關(guān)鍵字

INNER JOIN 關(guān)鍵字在表中存在至少一個(gè)匹配時(shí)返回行。

SQL INNER JOIN 語法

SELECT?column_name(s)
FROM?table1
INNER JOIN?table2
ON?table1.column_name=table2.column_name;

或:

SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
  • columns:要顯示的列名。
  • table1:表1的名稱。
  • table2:表2的名稱。
  • column_name:表中用于連接的列名。

SQL LEFT JOIN 關(guān)鍵字

LEFT JOIN 關(guān)鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結(jié)果為 NULL。

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

SQL RIGHT JOIN 關(guān)鍵字

RIGHT JOIN 關(guān)鍵字從右表(table2)返回所有的行,即使左表(table1)中沒有匹配。如果左表中沒有匹配,則結(jié)果為 NULL。和left差不多,只不過是反過來

SQL FULL OUTER JOIN 關(guān)鍵字

FULL OUTER JOIN 關(guān)鍵字只要左表(table1)和右表(table2)其中一個(gè)表中存在匹配,則返回行.

FULL OUTER JOIN 關(guān)鍵字結(jié)合了 LEFT JOIN 和 RIGHT JOIN 的結(jié)果。

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

SQL UNION 操作符

UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集。

請(qǐng)注意,UNION 內(nèi)部的每個(gè) SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每個(gè) SELECT 語句中的列的順序必須相同。

SQL UNION 語法

SELECT?column_name(s)?FROM?table1
UNION
SELECT?column_name(s)?FROM?table2;

注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。

SQL UNION ALL 語法

SELECT?column_name(s)?FROM?table1
UNION ALL
SELECT?column_name(s)?FROM?table2;

注釋:UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語句中的列名。

MySQL Date 函數(shù)

下面的表格列出了 MySQL 中最重要的內(nèi)建日期函數(shù):

函數(shù)描述
NOW()返回當(dāng)前的日期和時(shí)間
CURDATE()返回當(dāng)前的日期
CURTIME()返回當(dāng)前的時(shí)間
DATE()提取日期或日期/時(shí)間表達(dá)式的日期部分
EXTRACT()返回日期/時(shí)間的單獨(dú)部分
DATE_ADD()向日期添加指定的時(shí)間間隔
DATE_SUB()從日期減去指定的時(shí)間間隔
DATEDIFF()返回兩個(gè)日期之間的天數(shù)
DATE_FORMAT()用不同的格式顯示日期/時(shí)間

MySQL?使用下列數(shù)據(jù)類型在數(shù)據(jù)庫中存儲(chǔ)日期或日期/時(shí)間值:

  • DATE - 格式:YYYY-MM-DD
  • DATETIME - 格式:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS
  • YEAR - 格式:YYYY 或 YY

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函數(shù)

請(qǐng)看下面的 "Products" 表:

P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder
1Jarlsberg10.451615
2Mascarpone32.5623
3Gorgonzola15.67920

假如 "UnitsOnOrder" 是可選的,而且可以包含 NULL 值。

我們使用下面的 SELECT 語句:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

在上面的實(shí)例中,如果有 "UnitsOnOrder" 值是 NULL,那么結(jié)果是 NULL。

微軟的 ISNULL() 函數(shù)用于規(guī)定如何處理 NULL 值。

NVL()、IFNULL() 和 COALESCE() 函數(shù)也可以達(dá)到相同的結(jié)果。

SQL函數(shù)

AVG() 函數(shù)

AVG() 函數(shù)返回?cái)?shù)值列的平均值。

SQL AVG() 語法

SELECT AVG(column_name) FROM table_name

SQL?COUNT()?函數(shù)

COUNT() 函數(shù)返回匹配指定條件的行數(shù)。

SQL COUNT(column_name) 語法

COUNT(column_name) 函數(shù)返回指定列的值的數(shù)目(NULL 不計(jì)入):

SELECT COUNT(column_name) FROM table_name;

SQL COUNT(*) 語法

COUNT(*) 函數(shù)返回表中的記錄數(shù):

SELECT COUNT(*) FROM table_name;

SQL COUNT(DISTINCT column_name) 語法

COUNT(DISTINCT column_name) 函數(shù)返回指定列的不同值的數(shù)目:

SELECT COUNT(DISTINCT column_name) FROM table_name;

FIRST() 函數(shù)

FIRST() 函數(shù)返回指定的列中第一個(gè)記錄的值。

SQL FIRST() 語法

SELECT FIRST(column_name) FROM table_name;
SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;

LAST() 函數(shù)

LAST() 函數(shù)返回指定的列中最后一個(gè)記錄的值。

SQL LAST() 語法

SELECT LAST(column_name) FROM table_name;
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;

MAX() 函數(shù)

MAX() 函數(shù)返回指定列的最大值。

SQL MAX() 語法

SELECT MAX(column_name) FROM table_name;

MIN() 函數(shù)

MIN() 函數(shù)返回指定列的最大值。

SQL MIN() 語法

SELECT MIN(column_name) FROM table_name;

SUM() 函數(shù)

SUM() 函數(shù)返回?cái)?shù)值列的總數(shù)。

SQL SUM() 語法

SELECT SUM(column_name) FROM table_name;

GROUP BY 語句

GROUP BY 語句用于結(jié)合聚合函數(shù),根據(jù)一個(gè)或多個(gè)列對(duì)結(jié)果集進(jìn)行分組。

SQL GROUP BY 語法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 關(guān)鍵字無法與聚合函數(shù)一起使用。

HAVING 子句可以讓我們篩選分組后的各組數(shù)據(jù)。

SQL HAVING 語法

SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1
HAVING condition;
  • column1:要檢索的列。
  • aggregate_function(column2):一個(gè)聚合函數(shù),例如SUM、COUNT、AVG等,應(yīng)用于column2的值。
  • table_name:要從中檢索數(shù)據(jù)的表。
  • GROUP BY column1:根據(jù)column1列的值對(duì)數(shù)據(jù)進(jìn)行分組。
  • HAVING condition:一個(gè)條件,用于篩選分組的結(jié)果。只有滿足條件的分組會(huì)包含在結(jié)果集中。

EXISTS 運(yùn)算符

EXISTS 運(yùn)算符用于判斷查詢子句是否有記錄,如果有一條或多條記錄存在返回 True,否則返回 False。

SQL EXISTS 語法

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

MID() 函數(shù)

MID() 函數(shù)用于從文本字段中提取字符。

SQL MID() 語法

SELECT MID(column_name[,start,length]) FROM table_name;
參數(shù)描述
column_name必需。要提取字符的字段。
start必需。規(guī)定開始位置(起始值是 1)。
length可選。要返回的字符數(shù)。如果省略,則 MID() 函數(shù)返回剩余文本。

LEN() 函數(shù)

LEN() 函數(shù)返回文本字段中值的長(zhǎng)度。

MySQL 中函數(shù)為 LENGTH():

SELECT LENGTH(column_name) FROM table_name;

ROUND() 函數(shù)

ROUND() 函數(shù)用于把數(shù)值字段舍入為指定的小數(shù)位數(shù)。

SQL ROUND() 語法

SELECT?ROUND(column_name,decimals)?FROM?TABLE_NAME;
參數(shù)描述
column_name必需。要舍入的字段。
decimals可選。規(guī)定要返回的小數(shù)位數(shù)。

SQL進(jìn)階

子查詢

子查詢用于為主查詢返回其所需數(shù)據(jù),或者對(duì)檢索數(shù)據(jù)進(jìn)行進(jìn)一步的限制,通常將一個(gè)查詢(子查詢)的結(jié)果作為另一個(gè)查詢(主查詢)的數(shù)據(jù)來源或判斷條件,常見的子查詢有WHERE子查詢,HAVING子查詢,FROM子查詢,SELECT子查詢,EXISTS子查詢。

子查詢是一種嵌套在其他 SQL 查詢的 WHERE 子句中的查詢,可以在 SELECT、INSERT、UPDATE 和 DELETE 語句中,同邏輯運(yùn)算符一起使用。

使用子查詢必須遵循以下幾個(gè)規(guī)則:

  • 子查詢必須括在圓括號(hào)中。

  • 子查詢的 SELECT 子句中只能有一個(gè)列。

  • 子查詢不能使用 ORDER BY,在子查詢中,GROUP BY 可以起到同 ORDER BY 相同作用。

  • 返回多行數(shù)據(jù)的子查詢只能同多值操作符一起使用,比如 IN 操作符。

  • 子查詢不能直接用在聚合函數(shù)中。

  • BETWEEN 不能同子查詢一起使用,但 BETWEEN 操作符可以用在子查詢中。

  • 使用子查詢查詢薪水大于8000的員工的所有信息,首先內(nèi)部查詢薪水大于8000的ID,然后外部使用一個(gè)WHERE查詢即可得到結(jié)果。

SELECT *
FROM SALARY
WHERE ID IN (SELECT IDFROM SALARYWHERE SAL > 8000);

使用子查詢的另一方法是創(chuàng)建計(jì)算字段,創(chuàng)建計(jì)算字段需要使用聚合函數(shù),例如count,sum,avg,max,min等,這里首先計(jì)算平均薪水作為一個(gè)內(nèi)查詢,然后在外部使用WHERE子句進(jìn)行查詢,得出薪資比平均薪資低的員工的所有信息。

SELECT * FROM SALARY
WHERE SAL < (SELECT AVG(SAL)FROM SALARY);

窗口函數(shù)

窗口函數(shù)與數(shù)據(jù)分組功能相似,可指定數(shù)據(jù)窗口進(jìn)行統(tǒng)計(jì)分析,但窗口函數(shù)與數(shù)據(jù)分組又有所區(qū)別,窗口函數(shù)對(duì)每個(gè)組返回多行,而數(shù)據(jù)分組對(duì)每個(gè)組只返回一行;窗口函數(shù)指定分析函數(shù)工作的數(shù)據(jù)窗口大小,這個(gè)數(shù)據(jù)窗口大小可能會(huì)隨著行的變化而變化,而數(shù)據(jù)分組是針對(duì)所有數(shù)據(jù)進(jìn)行統(tǒng)計(jì),窗口函數(shù)的寫法如下。

<窗口函數(shù)>?over?(partition?by?<用于分組的列名>order?by?<用于排序的列名>)

窗口函數(shù)主要有兩種,一種是專用窗口函數(shù),包括rank、dense_rank、row_number等。另一種是聚合函數(shù),包括sum、avg、count、max、min等,下面逐一介紹窗口函數(shù)的五個(gè)功能,分別是聚合、排序、極值、移動(dòng)、切片。

計(jì)算各國家總金額就要對(duì)各個(gè)國家分組,這里分組使用的是PARTITION by,PARTITION by的功能與GROUP BY的功能類似,指定按照那一列進(jìn)行分組,用country分組求和,則每個(gè)country的輸出結(jié)果一致。

SELECT *, SUM(payment) OVER() as Total_payment,
SUM(payment) OVER(PARTITION by country) as country_payment 
from pay;

這里使用SQL中常用的向下累計(jì)求和的方法,當(dāng)使用order by時(shí),沒有rows between則意味著窗口是從起始行到當(dāng)前行,所以對(duì)不同國家進(jìn)行累加求和操作。

SELECT *, SUM(payment) OVER() as Total_payment,SUM(payment) OVER(PARTITION by country) as country_payment,
SUM(payment) OVER(PARTITION by country ORDER BY payment DESC) as order_payment 
from pay;

基礎(chǔ)查詢

1.查詢所有列

select * from user_profile

2.查詢多列

select device_id,gender,age,university from user_profile

簡(jiǎn)單處理查詢結(jié)果

3.查詢結(jié)果去重

select distinct university from user_profile

4.查詢結(jié)果限制返回行數(shù)

select device_id from user_profile where id<=2

5.將查詢后的列重新命名

select device_id as user_infos_example from user_profile where id <= 2

基礎(chǔ)操作符

6.查找學(xué)校是北大的學(xué)生信息

select device_id,university from user_profile where university = '北京大學(xué)'

7.查找年齡大于24歲的用戶信息

8.查找某個(gè)年齡段的用戶信息

select device_id,gender,age from user_profile where age >=20 and age <= 23

9.查找除復(fù)旦大學(xué)的用戶信息

select device_id,gender,age,university from user_profile where university != '復(fù)旦大學(xué)'

10.用where過濾空值練習(xí)

select device_id,gender,age,university from user_profile where age!=' '

11.高級(jí)操作符練習(xí)(1)

select device_id,gender,age,university,gpa from user_profile where gpa > 3.5 and gender = 'male'

12.高級(jí)操作符練習(xí)(2)

select device_id,gender,age,university,gpa from user_profile where gpa > 3.7 or university = '北京大學(xué)'

13.where in 和 Not in

select device_id,gender,age,university,gpa from user_profile where university in ('北京大學(xué)','復(fù)旦大學(xué)','山東大學(xué)')

14.操作符混合運(yùn)用

select device_id,gender,age,university,gpa from user_profile where (gpa > 3.5 and university = '山東大學(xué)') or (gpa > 3.8 and university = '復(fù)旦大學(xué)')

15.查看學(xué)校名稱中含北京的用戶

select device_id,age,university from user_profile where university like '%北京%'

16.查找GPA最高值

select max(gpa) from user_profile 

17.計(jì)算男生人數(shù)以及平均GPA

select count(gender) as male_num,avg(gpa) 
from user_profile
where gender = 'male'

18.分組計(jì)算練習(xí)題

select gender,university,count(device_id) as user_num,avg(active_days_within_30) as avg_active_day,avg(question_cnt) as avg_question_cnt
from user_profile
group by gender,university

19.分組過濾練習(xí)題

select university,avg(question_cnt) as avg_question_cnt,avg(answer_cnt) as avg_answer_cnt
from user_profile
group by university
having avg_question_cnt < 5 
or avg_answer_cnt < 20

20.分組排序練習(xí)題

select university,avg(question_cnt) as avg_question_cnt
from user_profile
group by university
order by avg_question_cnt 

21.浙江大學(xué)用戶題目回答情況

select device_id, question_id, result
from question_practice_detail
where device_id in (select device_id from user_profilewhere university = '浙江大學(xué)'
)

22.統(tǒng)計(jì)每個(gè)學(xué)校的答過題的用戶的平均答題數(shù)

select university, 
count(b.question_id)/count(distinct a.device_id) as avg_answer_cnt
from user_profile as a
inner join question_practice_detail as b
on a.device_id = b.device_id
group by a.university

23.統(tǒng)計(jì)每個(gè)學(xué)校各難度的用戶平均刷題數(shù)

select a.university,
c.difficult_level,
count(b.question_id) / count(distinct b.device_id) as avg_answer_cnt
from question_practice_detail as b
left join user_profile as a
on a.device_id = b.device_id
left join question_detail as c
on b.question_id =  c.question_id
group by a.university, c.difficult_level

24.統(tǒng)計(jì)每個(gè)用戶的平均刷題數(shù)

select university, difficult_level, count(b.question_id)/count(distinct b.device_id) as avg_answer_cnt
from question_practice_detail as b,user_profile as a,question_detail as c
where a.university = '山東大學(xué)'and b.device_id = a.device_idand b.question_id = c.question_id
group by c.difficult_level

25.查找山東大學(xué)或者性別為男生的信息

select device_id, gender, age, gpa
from user_profile
where university = '山東大學(xué)'union allselect device_id, gender, age, gpa
from user_profile
where gender = 'male'

26.計(jì)算25以上和以下的用戶數(shù)量

select 
case when age <25 or age is null then '25歲以下'when age >= 25 then '25歲及以上'end age_cut,count(*) as number
from user_profile
group by age_cut

27.查看不同年齡段的用戶明細(xì)

select device_id,gender,
case when age >=20 and age <=24 then '20-24歲'when age >24 then '25歲及以上'else '其他'end age_cut
from user_profile

28.計(jì)算用戶8月每天的練題數(shù)量

select day(date) as day, count(question_id) as question_cnt
from question_practice_detail
where year(date) = 2021 
and  month(date) = 8
group by date

29.計(jì)算用戶的平均次日留存率

SELECT COUNT(distinct q2.device_id,q2.date)/count(DISTINCT q1.device_id,q1.date) as avg_ret
from question_practice_detail as q1 left outer join question_practice_detail as q2
on q1.device_id=q2.device_id and DATEDIFF(q2.date,q1.date)=1

30.統(tǒng)計(jì)每種性別的人數(shù)

select substring_index(profile,',',-1) as gender,
count(*) as number
from user_submit
group by gender

http://www.risenshineclean.com/news/11148.html

相關(guān)文章:

  • 怎樣申請(qǐng)做p2p融資網(wǎng)站中國培訓(xùn)網(wǎng)
  • 五金商城網(wǎng)站建設(shè)注意百度網(wǎng)址怎么輸入?
  • 1g網(wǎng)站空間多少錢百度一下網(wǎng)頁搜索
  • 網(wǎng)站301是什么意思人民網(wǎng)疫情最新消息
  • wordpress資源博客優(yōu)化師助理
  • 網(wǎng)站做seo第一步公司注冊(cè)流程
  • wordpress主題woocomece網(wǎng)站關(guān)鍵詞優(yōu)化建議
  • wordpress 接收詢盤長(zhǎng)治seo顧問
  • 鎮(zhèn)江市住房城鄉(xiāng)建設(shè)局網(wǎng)站谷歌seo推廣
  • 專業(yè)做寫生的網(wǎng)站百度云官網(wǎng)登錄入口
  • 北京專業(yè)做網(wǎng)站電話百度手機(jī)seo軟件
  • 科技公司建設(shè)網(wǎng)站網(wǎng)站推廣如何收費(fèi)
  • 電子商務(wù)網(wǎng)站建設(shè)信陽網(wǎng)站推廣公司
  • 網(wǎng)站插入背景音樂網(wǎng)站seo診斷分析報(bào)告
  • 政府網(wǎng)站建設(shè)及其對(duì)策參考文獻(xiàn)seo關(guān)鍵詞推廣公司
  • 拆分盤網(wǎng)站建設(shè)百度流量推廣項(xiàng)目
  • 公司網(wǎng)站怎么發(fā)布文章關(guān)鍵詞排名是什么意思
  • 網(wǎng)站做優(yōu)化效果怎樣搜索引擎排行榜
  • 數(shù)據(jù)庫php網(wǎng)站開發(fā)論文windows優(yōu)化大師官方下載
  • 北京專業(yè)網(wǎng)站制作大概費(fèi)用小程序seo
  • 提供網(wǎng)站建設(shè)報(bào)客源軟件哪個(gè)最好
  • 做基礎(chǔ)網(wǎng)站主機(jī)要關(guān)鍵詞優(yōu)化方法
  • 珠海網(wǎng)站建設(shè)哪家專業(yè)北京網(wǎng)絡(luò)推廣有哪些公司
  • 阿里云快速備份網(wǎng)站網(wǎng)絡(luò)營銷推廣方案前言
  • 公安部網(wǎng)站備案 流程周口搜索引擎優(yōu)化
  • 微信小程序多少錢做一個(gè)博客程序seo
  • 軟件工程和網(wǎng)絡(luò)工程哪個(gè)好合肥網(wǎng)站優(yōu)化seo
  • 外貿(mào)網(wǎng)站建設(shè)模板下載廣西壯族自治區(qū)免費(fèi)百度推廣
  • 網(wǎng)站開發(fā)崗位實(shí)際情況岳陽seo
  • 網(wǎng)站開發(fā)年終總結(jié)魔方優(yōu)化大師官網(wǎng)