一.select高級用法 1.傳統連接(只能內連接,取交集,效率最慢) 1.根據兩張表查詢張三成績 2.世界上小於100人的人口城市是哪個國家的 2.NATURAL JOIN(自連接的表要有共同的列名字) 1.查詢,人口在100以上的城市名字,和所說的語言 3.企業中多表連接查詢(內連接) 1.都到 ...
一.select高級用法
1.傳統連接(只能內連接,取交集,效率最慢)
1.根據兩張表查詢張三成績
select t1.sname,t2.mark from t1,t2 where t1.sid=t2.sid and t1.sname=’zhang3’;
2.世界上小於100人的人口城市是哪個國家的
select city.name,city.countrycode,country.name from city,country where city.countrycode=country.code and city.population<100;
2.NATURAL JOIN(自連接的表要有共同的列名字)
1.查詢,人口在100以上的城市名字,和所說的語言
SELECT city.name,countrylanguage.language FROM city NATURAL JOIN countrylanguage WHERE population >
100
3.企業中多表連接查詢(內連接)
1.都到這了,還看不懂,自殺去吧
select city.name,city.countrycode,country.name from city join country on city.countrycode=country.code where city.population<100;
4.外連接(反正都比傳統的快)
1.略。。。。
select city.name,city.countrycode,country.name from city left join country on city.countrycode=country.code and city.population<100;
5.UNION(合併查詢)
1.為什麼用union,因為他快啊,雖然打起來賊特麽麻煩,但他運行效率非常快,優化語句用就是了
#範圍查詢OR語句 mysql> select * from city where countrycode='CHN' or countrycode='USA'; #範圍查詢IN語句 mysql> select * from city where countrycode in ('CHN','USA'); 替換為: mysql> select * from city where countrycode='CHN' union all select * from city where countrycode='USA' limit 10