1. 程式人生 > 其它 >填空題 && 選擇題 && 討論 - 軟體安全

填空題 && 選擇題 && 討論 - 軟體安全

# 1.SQL的分類
/*
DDL:資料定義語言。CREATE\ALTER\DROP\RENAME\TRUNCATE

DML:資料操作語言。INSERT\DELETE\UPDATE\SELECT

DCL:資料控制語言。COMMIT\ROLLBACK\SAVEPOINT\GRANT\REVOKE
*/

#2.匯入現有的資料表、表的資料。
/*
方式1:source 檔案的全路徑名
舉例:source E:\BaiduNetdiskDownload\atguigudb.sql;

方式2:基於具體的圖形化介面的工具可以匯入資料
比如:SQLyog中,選擇“工具”--“執行sql指令碼”--選中xxx.sql即可。
*/
SELECT * FROM employees;

# 1. 最基本的SELECT語句: SELECT 欄位1,欄位2,… FROM 表名
SELECT 1+1,3*2;
#DUAL:偽表
SELECT 1+1,3*2 
FROM DUAL; 

# *:表中的所有的欄位(或列)
SELECT * FROM employees;
SELECT employee_id,last_name,salary
FROM employees;

# 2.列的別名
# as:全稱為alias(意為別名),可以省略
# 還可以,列的別名用一對雙引號引起來,不要使用單引號。
SELECT employee_id emp_id,last_name AS lname,department_id "dep_id",salary*12 AS "annual sal"
FROM employees;

# 3.去除重複行
# 查詢員工表中一共有哪些部門id呢?

# 錯誤的:沒有去重的情況
SELECT department_id
FROM employees;
# 正確的:去重的情況
SELECT DISTINCT department_id
FROM employees;

# 錯誤的:
SELECT salary,DISTINCT department_id
FROM employees;

# 僅僅是沒有報錯,但是沒有實際意義,顯示的是每組dep+sal沒有重複的
SELECT DISTINCT department_id, salary
FROM employees;

# 4.空值參與運算
# 1.空值:null
# 2.null不等同於0,'','null'
# 3.空值參與運算,結果一定也為空。
SELECT employee_id, salary, commission_pct, salary*(1+commission_pct)*12 "年工資"
FROM employees;
# 實際問題的解決方案:引入ifnull
SELECT employee_id, salary, commission_pct, salary*(1+IFNULL(commission_pct,0))*12 "年工資"
FROM employees;

# 5.著重號``
SELECT * FROM `order`;

# 6.查詢常數,用來補充欄位
SELECT '尚矽谷', 123, employee_id, last_name
FROM employees;

# 7.顯示錶結構
DESCRIBE employees;
DESC employees;

# 8.過濾資料
#練習:查詢90號部門的員工資訊
SELECT *
FROM employees
#過濾條件,宣告在from結構的後面
WHERE department_id=90;

#練習:查詢last_name為‘king’的員工的資訊
SELECT *
FROM employees
#字串用單引號表示;此處king不區分大小寫是MySQL的問題,不是因為Windows不區分大小寫
WHERE last_name='King';