MySQL數(shù)據(jù)庫(kù):第二章:基礎(chǔ)查詢(xún)
回退至Mysql數(shù)據(jù)庫(kù)理論與實(shí)戰(zhàn)
#進(jìn)階一:基礎(chǔ)查詢(xún)
語(yǔ)法:
select 查詢(xún)列表 from 表名;
特點(diǎn):
1、查詢(xún)的結(jié)果集是一個(gè)虛擬表,并沒(méi)有真實(shí)存在
2、查詢(xún)列表支持常量、字段(列)、表達(dá)式、方法(函數(shù))等
類(lèi)似于 System.out.println(一個(gè)值);
補(bǔ)充:
1、去重
2、起別名
3、常見(jiàn)的函數(shù)
database()
version()
user()
ifnull()
concat()
USE myemployees;
#①查詢(xún)常量
SELECT 100 ;#數(shù)值型的常量值,不需要加引號(hào)
SELECT '劉寶英';#字符和字符串在sql中都稱(chēng)為字符型,常量值需要使用單引號(hào)引起來(lái)!
#②查詢(xún)表達(dá)式
SELECT 100*3;
SELECT 100%3;
#③查詢(xún)單個(gè)字段
SELECT last_name FROM employees;
#④查詢(xún)多個(gè)字段
SELECT last_name,hiredate ,salary FROM employees;
#⑤查詢(xún)表中的所有字段 ★
#方式一
SELECT
`employee_id`,
`first_name`,
`last_name`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
FROM
employees ;
#方式二
SELECT * FROM employees;#*代表所有字段
#⑥查詢(xún)函數(shù)(方法)
SELECT DATABASE();
SELECT VERSION();
SELECT USER();
#補(bǔ)充:
#⑦去重
#查詢(xún)員工表中的員工所在的部門(mén)有哪些
SELECT DISTINCT department_id FROM employees;
#⑧+號(hào)的作用
/*
java的加號(hào):
作用一:加法運(yùn)算,當(dāng)兩個(gè)操作數(shù)都是數(shù)值型
作用二:連接符,當(dāng)至少一個(gè)操作數(shù)是String類(lèi)型
sql的加號(hào):
功能:加法運(yùn)算
a、數(shù)值+數(shù)值: select 100+2.5;
b、數(shù)值+字符: select 100+'abc'; 試圖將字符轉(zhuǎn)換成數(shù)值,如果失敗,則轉(zhuǎn)成0,否則轉(zhuǎn)成對(duì)應(yīng)的數(shù)值
c、任意類(lèi)型+null:select 100+null;
*/
#案例:查詢(xún)員工的姓名,將姓和名連接在一起顯示
SELECT first_name+last_name FROM employees;
SELECT CONCAT(first_name,last_name) FROM employees;
#⑨起別名
/*
別名一般不需要使用引號(hào),但如果里面包含特殊符號(hào),如空格。則必須使用單引號(hào)或雙引號(hào)引起來(lái)
*/
#方式一:使用as
SELECT CONCAT(first_name,last_name) AS '姓 名' FROM employees;
#方式二:使用空格
SELECT CONCAT(first_name,last_name) '姓 名' FROM employees;
#⑩查看表的結(jié)構(gòu)
DESC employees;
#1. 下面的語(yǔ)句是否可以執(zhí)行成功
SELECT last_name , job_id , salary AS sal
FROM employees;
#2. 下面的語(yǔ)句是否可以執(zhí)行成功
SELECT * FROM employees;
#3. 找出下面語(yǔ)句中的錯(cuò)誤
SELECT employee_id , last_name,
salary * 12 "ANNUAL SALARY"
FROM employees;
#4. 顯示表 departments 的結(jié)構(gòu),并查詢(xún)其中的全部數(shù)據(jù)
DESC departments;
SELECT * FROM departments;
#5. 顯示出表 employees 中的全部 job_id(不能重復(fù))
SELECT DISTINCT job_id FROM employees;
#6. 顯示出表 employees 的全部列,各個(gè)列之間用逗號(hào)連接,列頭顯示成 OUT_PUT
SELECT CONCAT(last_name,first_name,salary,email,phone_number,IFNULL(commission_pct,0)) out_put
FROM employees;
SELECT IFNULL(commission_pct,0),commission_pct FROM employees;