MySQL學習——查詢語句
阿新 • • 發佈:2019-02-11
MySQL查詢語句一般分為單表查詢和多表查詢。
select......from......
---單表查詢
MySQL查詢語句 ----- ---子查詢
多表查詢 ---
--- 連線查詢
單表查詢
1、查詢語句和條件以及查詢的結果都在同一個表中
eg:查詢stu表中sto=1的學生的所有資訊
select *from stu where sto =1;
* 代表的是表中的所有資訊 在查詢語句中 查詢條件都是跟在 where 後。
例題
-- 需求 -- 1 用create database 命令建立emp_project資料庫 drop database if exists emp_project; create database emp_project; -- 2 用create table 命令建立emp表 用insert into語句在emp中新增10條資料 -- emp表字段如下: create table emp( e_id int not null auto_increment primary key, -- 員工的編號 e_name varchar(10) not null, -- 名字 e_sex varchar(2) not null, -- 性別 e_job varchar(20) not null, -- 職位 e_salary int not null, -- 薪水 e_date datetime not null, -- 入職時間 e_age int not null -- 年齡 ); insert into emp values(1,'張三','男','工程師',3500,'2010-3-4',23); insert into emp values(2,'李四','女','軟體師',4500,'2010-3-4',33); insert into emp values(3,'王五','男','經理',5500,'2010-3-4',22); insert into emp values(4,'趙六','女','部門經理',6500,'2010-3-4',45); insert into emp values(5,'張七','男','業務員',7500,'2010-3-4',35); insert into emp values(6,'李八','女','總經理',8500,'2010-3-4',29); insert into emp values(7,'王9','男','工程師',4500,'2010-3-4',40); -- 3 查詢工資範圍在3000-10000之間的員工資訊 select * from emp where e_salary between 3000 and 10000; -- 4 查詢性別為男的員工資訊 select * from emp where e_sex = '男'; -- 5 查詢姓李或者姓張的員工資訊 select * from emp where e_name like '張%' or e_name like '李%'; -- 6 查詢職位是工程師且工資大於4000的員工資訊。 select * from emp where e_job = '工程師' and e_salary >4000; -- 7 查詢員工年齡小於30或者工資大於5000的員工資訊 select * from emp where e_age<30 or e_salary >5000; -- 8 查詢員工資訊工資從高到低排序 select * from emp order by e_salary desc;
多表查詢
建表
create table a( a_id int not null, a_name varchar(10) ); create table b( b_id int not null, b_name varchar(10) ); insert into a values(1,'張三'); insert into a values(2,'李四'); insert into a values(3,'王武'); insert into a values(6,'劉備'); insert into b values(1,'aa'); insert into b values(2,'bb'); insert into b values(3,'cc'); insert into b values(7,'ff');
表 a 表b
連線查詢
1、內連線 inner join ...on...(inner join 可忽略不寫)
符合條件,當需要查詢兩個表之間相同的欄位的資料時,用內連線
查詢a 表和b表 id相同的人的資料
select * from a inner join b on a_id = b_id;
2、左連線 left join...on... on後接連線條件
符合條件,查詢以左表為主和右表