<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                select 查詢 指從現存的一個或多個表中查看滿足條件的數據。 1、Select語句常規用法: ~~~ Select * from students; ##查看表中所有數據 Select sid,sname from students; ##查看所有的sid和sname Select sid,sname from students where sid=1; ##查看符合條件的數據 Select * from students order by sid; ##查看排序后的數據 Select sex,count(*) from students group by sex having count(*)>=2; ##查看分組的數據 Select * from students a inner join students2 b on a.sid=b.sid; ##查看兩個表鏈接后的數據 Select sid as a,sname as b from students; ##字段使用別名的方法1 Select sid a,sname b from students; ##字段使用別名的方法2 ~~~ Where子句代表只查詢滿足條件的表數據,如果沒有where子句則代表查詢表中所有的數據 2、查詢t1和t2表中所有的字段 ~~~ SELECT * FROM t1 INNER JOIN t2 ... SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ... ~~~ 3、Select_expr也可以使用MySQL內部的函數,另外字段也可以使用別名。 concat–連接字符串 concat函數可以連接一個或者多個字符串,若其中一個為null,則返回null。 ~~~ SELECT CONCAT(last_name,', ',first_name) AS full_name FROM mytable ORDER BY full_name; SELECT CONCAT(last_name,', ',first_name) full_name FROM mytable ORDER BY full_name; ~~~ Where條件中不能使用select_expr中定義的字段別名,因為語句執行順序是where在select之前,所以where在執行時字段別名未知。 `Select sid a,sname b from students where sid>1; ##正確的寫法` 4、From table_references子句中指定表名,tbl_name也可以指定別名,當涉及的表不在當前的數據庫時,需要使用db_name.tbl_name來指定表和所在的數據庫名 ~~~ SELECT t1.name, t2.salary FROM employee AS t1, info AS t2 WHERE t1.name = t2.name; SELECT t1.name, t2.salary FROM employee t1, info t2 WHERE t1.name = t2.name; ~~~ 當多個表中有相同的字段名,且需要查詢出來時,需要在select_expr中使用tbl_name.column_name來顯視指定要查詢哪個表的字段。 **執行過程:先執行from再執行where 最后執行select** 兩個表關聯查詢: `select * from studnets a inner join test2.students b on a.sid=b.sid;` 有相同的字段名要指定表名,可以用表的別名: `select a.sname from students a inner join test2.students b on a.sid-b.sid;` 5、group by 表示分組,通常和聚合函數配合使用,如最大值max,最小值min,平均值avg,個數count,求和sum‘ ~~~ insert into scores values(1,'english',80), (1,'chinese',89), (1,'math',90), (2,'english',91), (2,'chinese',89) ; select sid,count(*),max(scores),min(scores),avg(scores),sum(scores) from scores group by sid; ~~~ 6、order by 排序 三種方式: ~~~ SELECT college, region, seed FROM tournament ORDER BY region, seed; SELECT college, region AS r, seed AS s FROM tournament ORDER BY r, s; SELECT college, region, seed FROM tournament ORDER BY 2, 3; ~~~ Order by子句表示查詢結果按照順序排列,默認是升序排列,可以指定DESC表明按照降序排列 7、having 子句一般是跟在group by子句之后,代表限制分組之后的結果 ~~~ SELECT user, MAX(salary) FROM users GROUP BY user HAVING MAX(salary) > 10; ~~~ 8、Limit子句用來限制查詢結果的條數,其后可以帶兩位>0的整數,第一位代表offset,第二位代表取多少行 ~~~ SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows,等同于select * from tbl limit 0,5 SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 ~~~ 9、其他語句: Select … into語句代表將查詢結果寫入文件中或者定義的參數變量中 ALL/Distinct關鍵詞代表是否將查詢結果中完全重復的行都查詢出來,ALL是默認值代表都查詢出來,指定distinct代表重復行只顯示一次 select distinct sid from scores ; 與聚合函數共用: `select count(*),count(all sid),count(distinct sid) from scores;` 10、select ..into 將查詢結果存入定義的變量或者文件。 Select … into語句代表將查詢結果存入定義的變量或者文件 (1)、SELECT ... INTO var_list將查詢結果存入定義的變量 `SELECT id, data INTO @x, @y FROM test.t1 LIMIT 1;` 當使用存入變量方法是,需要保證查詢結果返回一行,如果不返回數據則報no data錯誤,如果返回多行則報Result consisted of more than one row錯誤,當返回行數不確定時,可以用limit 1強制只返回一行 ~~~ mysql> select id into @y from teacher limit 1; Query OK, 1 row affected (0.00 sec) mysql> mysql> select @y; +------+ | @y | +------+ | 6 | +------+ 1 row in set (0.00 sec) ~~~ (2)、SELECT ... INTO OUTFILE將查詢結果按照一定的格式寫入到文件中 `SELECT sid,sname,gender INTO OUTFILE '/tmp/students.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM students;` FIELDS TERMINATED 字段分隔符 [OPTIONALLY] ENCLOSED表示字段用什么字符包括起來,如果使用了OPTIONALLY則只有CHAR和VERCHAR被包括 LINES TERMINATED 表示每行記錄之間用什么分隔 #######執行報錯:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement #######My.ini配置文件中添加secure_file_priv=/tmp/后重啟再執行,成功 (3)、SELECT ... INTO DUMPFILE將查詢結果以一行的格式寫入到文件中,且只能寫入一行 ~~~ mysql> select * into dumpfile '/tmp/students3.txt' from students; ERROR 1172 (42000): Result consisted of more than one row mysql> select * into dumpfile '/tmp/students4.txt' from students limit 1; Query OK, 1 row affected (0.00 sec) ~~~ 使用Select … into outfile ‘file_name’時,文件會創建在本地服務器上,所以要確保你的用戶能創建文件,而且此file_name不能已經存在在服務器上以免覆蓋其他文件 11、select中的表連接 join/inner join/cross join 三者意思一樣。 Join語句中表別名的用法 ~~~ SELECT t1.name, t2.salary FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name; SELECT t1.name, t2.salary FROM employee t1 INNER JOIN info t2 ON t1.name = t2.name; ~~~ From子句后面還可以跟子查詢,但子查詢必須帶別名 `SELECT * FROM (SELECT 1, 2, 3) AS t1;` 當inner join或者表之間用逗號隔開,且沒有表之間的關聯字段,則代表結果是兩者的笛卡爾積 `select t1.*,t2.* from teacher t1 ,dept t2;` conditional_expr子句一般代表指定兩個表之間的關聯條件,而where條件中指定查詢結果的篩選條件 STRAIGHT_JOIN和Join的用法大致相同,唯一不同是確保左表是先被讀取的,以保證優化器的讀取順序 ~~~ SELECT * FROM students INNER JOIN scores ON students.sid=scores.sid; SELECT * FROM students LEFT JOIN scores ON students.sid=scores.sid; SELECT * FROM students LEFT JOIN scores USING (sid); ####using表示兩張表的字段名稱一致。 SELECT * FROM students LEFT JOIN students2 ON students.sid=students2.sid LEFT JOIN scores ON students2.sid=scores.sid; ~~~ 12、union 將多個select語句的執行結果合并成一個結果。 第一個select語句的column_name會被當做最后查詢結果的列名,接下來的每個select語句所一一對應的列應該和第一個語句的列的數據類型最好保持一致 默認情況下union語句會把最終結果中的重復行去掉,這和增加distinct這個關鍵詞的作用一樣,如果使用union all則代表最終結果中的重復行保留 ~~~ mysql> select sid,sname from students union select sid,gender from students2; ~~~ 如果相對union語句的最后結果做排序或者limit限制,則需要將每個select語句用括號括起來,把order by或limit語句放在最后 ~~~ (Select sid,sname from students) Union (Select sid,sname from students2) order by sid limit 2; +------+-------+ | sid | sname | +------+-------+ | 1 | aaa | | 2 | ccc | +------+-------+ 2 rows in set (0.00 sec) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看